Subject: Built motion from commit (unavailable).|2.5.0
From: Cris Di Sclafani <[email-masked]>
Date: Thu, 27 Aug 2020 12:42:09 +0000 (+0200)

Built motion from commit (unavailable).|2.5.0
---

diff --git a/apidoc/api_data.js b/apidoc/api_data.js
index 5e4ce2f..df13155 100644
--- a/apidoc/api_data.js
+++ b/apidoc/api_data.js
@@ -1 +1 @@
-define({ "api": [
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "post",
    "url": "/api/attachments/clone",
    "title": "Clone an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableSendButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "feedbackTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/describe",
    "title": "Gets table info about Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCompanies",
    "group": "Cm_Companies",
    "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/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          },
          {
            "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/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          },
          {
            "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/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_field",
    "title": "Create a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_field  -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustomField",
    "group": "Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Creates a new Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Deletes a Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Gets a list of Freshsales Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Gets a single Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshsales_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/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Update an existing Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Creates a new Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Deletes a Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Gets a list of Freshsales Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Gets a single Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Update an existing Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/fields",
    "title": "Creates a new Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Deletes a Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields",
    "title": "Gets a list of Freshsales Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Gets a single Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Update an existing Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendUnpauseOnSubmit",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Add agents to a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Delete screen recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/favicon",
    "title": "Add Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFavicon",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/favicon",
    "title": "Get Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -v -X GET",
        "type": "json"
      }
    ],
    "name": "getFavicon",
    "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}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update an existing Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}/delete",
    "title": "Delete recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/delete -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/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",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Get sections associated to a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/whoami",
    "title": "WhoAmI",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/whoami -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "WhoAmI",
    "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}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Delete voice recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"lead\"",
              "\"contact\"",
              "\"nothing\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
] });
+define({ "api": [
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "post",
    "url": "/api/attachments/clone",
    "title": "Clone an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableSendButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "feedbackTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cloudProviders",
    "title": "Creates a new CloudProvider",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCloudProviders",
    "group": "CloudProviders",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"AmazonAWS\"",
              "\"Google\""
            ],
            "optional": false,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</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": "delete",
    "url": "/api/cloudProviders/{id}",
    "title": "Deletes a CloudProvider",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCloudProviders",
    "group": "CloudProviders",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record 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": "get",
    "url": "/api/cloudProviders",
    "title": "Gets a list of CloudProviders",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCloudProviders",
    "group": "CloudProviders",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cloudProviders?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cloudProviders?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cloudProviders?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cloudProviders?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cloudProviders?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></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": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCloudProviders",
    "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": "put",
    "url": "/api/cloudProviders/{id}",
    "title": "Update an existing CloudProvider",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCloudProviders",
    "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/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/describe",
    "title": "Gets table info about Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCompanies",
    "group": "Cm_Companies",
    "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/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          },
          {
            "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/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          },
          {
            "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/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_field",
    "title": "Create a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_field  -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustomField",
    "group": "Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Creates a new Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Deletes a Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Gets a list of Freshsales Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Gets a single Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshsales_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/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Update an existing Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Creates a new Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Deletes a Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Gets a list of Freshsales Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Gets a single Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Update an existing Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/fields",
    "title": "Creates a new Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Deletes a Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields",
    "title": "Gets a list of Freshsales Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Gets a single Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Update an existing Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendUnpauseOnSubmit",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/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": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Delete screen recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/favicon",
    "title": "Add Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFavicon",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/favicon",
    "title": "Get Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -v -X GET",
        "type": "json"
      }
    ],
    "name": "getFavicon",
    "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}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update an existing Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}/delete",
    "title": "Delete recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/delete -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/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",
        "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/whatsappQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}",
    "title": "Gets a single Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Get sections associated to a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/whoami",
    "title": "WhoAmI",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/whoami -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "WhoAmI",
    "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}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Delete voice recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/webbar/answer",
    "title": "answer webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/answer -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_answer",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/calls",
    "title": "webrtc call list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/calls -d '{\"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_calls",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/hangup",
    "title": "hangup webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/hangup -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_hangup",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/unhold",
    "title": "unhold webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_hold",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/hold",
    "title": "hold webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_hold",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/originate",
    "title": "Originate new webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/originate -d '{\"callNumber\": \"0119692844\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_originate",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callerId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callbackUrl",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/transfer",
    "title": "blind transfer webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/transfer -d '{\"userId\": 54, \"sessionId\":\"<sessionId>\", \"transferNumber\":\"<transferNumber>\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_transfer",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "string",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "string",
            "optional": false,
            "field": "transferNumber",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/users",
    "title": "Add agents to a whatsapp account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Whatsapp_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/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "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/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/users",
    "title": "Gets agents from whatsapp account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}/users",
    "title": "Removes agents from a whatsapp account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new whatsapp message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/send",
    "title": "Send new whatsapp message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendWhatsapp",
    "group": "Whatsapp_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/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Whatsapp_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/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Whatsapp_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Whatsapp_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Whatsapp_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Whatsapp_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/reports/queue",
    "title": "Creates a new Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/reports/queue/{id}",
    "title": "Deletes a Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/queue/describe",
    "title": "Gets table info about Whatsapp Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/queue",
    "title": "Gets a list of Whatsapp Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/queue/{id}",
    "title": "Gets a single Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/reports/queue/{id}",
    "title": "Update an existing Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Whatsapp_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "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/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/reports/transfer",
    "title": "Creates a new Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/reports/transfer/{id}",
    "title": "Deletes a Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/transfer/describe",
    "title": "Gets table info about Whatsapp Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWhatsapp_Transfer_Reports",
    "group": "Whatsapp_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/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/transfer",
    "title": "Gets a list of Whatsapp Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/transfer/{id}",
    "title": "Gets a single Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/reports/transfer/{id}",
    "title": "Update an existing Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"lead\"",
              "\"contact\"",
              "\"nothing\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
] });
diff --git a/apidoc/api_data.json b/apidoc/api_data.json
index 9201b9e..db656d3 100644
--- a/apidoc/api_data.json
+++ b/apidoc/api_data.json
@@ -1 +1 @@
-[
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "post",
    "url": "/api/attachments/clone",
    "title": "Clone an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableSendButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "feedbackTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/describe",
    "title": "Gets table info about Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCompanies",
    "group": "Cm_Companies",
    "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/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          },
          {
            "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/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          },
          {
            "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/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_field",
    "title": "Create a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_field  -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustomField",
    "group": "Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Creates a new Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Deletes a Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Gets a list of Freshsales Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Gets a single Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshsales_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/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Update an existing Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Creates a new Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Deletes a Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Gets a list of Freshsales Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Gets a single Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Update an existing Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/fields",
    "title": "Creates a new Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Deletes a Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields",
    "title": "Gets a list of Freshsales Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Gets a single Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Update an existing Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendUnpauseOnSubmit",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Add agents to a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Delete screen recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/favicon",
    "title": "Add Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFavicon",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/favicon",
    "title": "Get Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -v -X GET",
        "type": "json"
      }
    ],
    "name": "getFavicon",
    "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}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update an existing Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}/delete",
    "title": "Delete recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/delete -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/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",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Get sections associated to a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/whoami",
    "title": "WhoAmI",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/whoami -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "WhoAmI",
    "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}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Delete voice recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"lead\"",
              "\"contact\"",
              "\"nothing\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
]
+[
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "post",
    "url": "/api/attachments/clone",
    "title": "Clone an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableSendButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "feedbackTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerPort",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cloudProviders",
    "title": "Creates a new CloudProvider",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCloudProviders",
    "group": "CloudProviders",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"AmazonAWS\"",
              "\"Google\""
            ],
            "optional": false,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</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": "delete",
    "url": "/api/cloudProviders/{id}",
    "title": "Deletes a CloudProvider",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCloudProviders",
    "group": "CloudProviders",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record 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": "get",
    "url": "/api/cloudProviders",
    "title": "Gets a list of CloudProviders",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCloudProviders",
    "group": "CloudProviders",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cloudProviders?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cloudProviders?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cloudProviders?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cloudProviders?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cloudProviders?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></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": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCloudProviders",
    "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": "put",
    "url": "/api/cloudProviders/{id}",
    "title": "Update an existing CloudProvider",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cloudProviders/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCloudProviders",
    "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/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/describe",
    "title": "Gets table info about Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCompanies",
    "group": "Cm_Companies",
    "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/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          },
          {
            "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/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          },
          {
            "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/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_field",
    "title": "Create a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_field  -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustomField",
    "group": "Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Creates a new Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Deletes a Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts",
    "title": "Gets a list of Freshsales Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Gets a single Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshsales_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/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/accounts/{id}",
    "title": "Update an existing Freshsales Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Accounts",
    "group": "Freshsales_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesAccount/index.js",
    "groupTitle": "Freshsales_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Creates a new Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Deletes a Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations",
    "title": "Gets a list of Freshsales Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Gets a single Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/configurations/{id}",
    "title": "Update an existing Freshsales Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Configurations",
    "group": "Freshsales_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesConfiguration/index.js",
    "groupTitle": "Freshsales_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshsales/fields",
    "title": "Creates a new Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Deletes a Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields",
    "title": "Gets a list of Freshsales Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshsales/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshsales/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshsales/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Gets a single Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshsales/fields/{id}",
    "title": "Update an existing Freshsales Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshsales/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshsales_Fields",
    "group": "Freshsales_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshsalesField/index.js",
    "groupTitle": "Freshsales_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendUnpauseOnSubmit",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/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": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Delete screen recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/favicon",
    "title": "Add Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFavicon",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/favicon",
    "title": "Get Favicon",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/favicon -v -X GET",
        "type": "json"
      }
    ],
    "name": "getFavicon",
    "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}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update an existing Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}/delete",
    "title": "Delete recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/delete -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/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",
        "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/whatsappQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}",
    "title": "Gets a single Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Get sections associated to a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/whoami",
    "title": "WhoAmI",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/whoami -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "WhoAmI",
    "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}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberMaxRetry",
            "description": "<p>#NoSuchNumber Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoSuchNumberRetryFrequency",
            "description": "<p>NoSuchNumber Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropMaxRetry",
            "description": "<p>#Drop Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialDropRetryFrequency",
            "description": "<p>Drop Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedMaxRetry",
            "description": "<p>#Abandoned Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAbandonedRetryFrequency",
            "description": "<p>Abandoned Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineMaxRetry",
            "description": "<p>#Machine Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialMachineRetryFrequency",
            "description": "<p>Machine Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectMaxRetry",
            "description": "<p>#AgentReject Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAgentRejectRetryFrequency",
            "description": "<p>AgentReject Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Delete voice recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/webbar/answer",
    "title": "answer webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/answer -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_answer",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/calls",
    "title": "webrtc call list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/calls -d '{\"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_calls",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/hangup",
    "title": "hangup webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/hangup -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_hangup",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/unhold",
    "title": "unhold webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_hold",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/hold",
    "title": "hold webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_hold",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/originate",
    "title": "Originate new webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/originate -d '{\"callNumber\": \"0119692844\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_originate",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callerId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callbackUrl",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/webbar/transfer",
    "title": "blind transfer webrtc call",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/webbar/transfer -d '{\"userId\": 54, \"sessionId\":\"<sessionId>\", \"transferNumber\":\"<transferNumber>\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Web_Bar_transfer",
    "group": "WebBar",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "number",
            "optional": false,
            "field": "userId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "string",
            "optional": false,
            "field": "sessionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "string",
            "optional": false,
            "field": "transferNumber",
            "description": ""
          }
        ]
      }
    },
    "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/webbar/index.js",
    "groupTitle": "WebBar"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/users",
    "title": "Add agents to a whatsapp account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Whatsapp_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/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "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/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/users",
    "title": "Gets agents from whatsapp account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}/users",
    "title": "Removes agents from a whatsapp account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Whatsapp_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new whatsapp message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/accounts/{id}/send",
    "title": "Send new whatsapp message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendWhatsapp",
    "group": "Whatsapp_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/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Whatsapp_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/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Whatsapp_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappAccount/index.js",
    "groupTitle": "Whatsapp_Accounts"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Whatsapp_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Whatsapp_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappApplication/index.js",
    "groupTitle": "Whatsapp_Applications"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Whatsapp_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Whatsapp_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Whatsapp_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappInteraction/index.js",
    "groupTitle": "Whatsapp_Interactions"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Whatsapp_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Whatsapp_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappMessage/index.js",
    "groupTitle": "Whatsapp_Messages"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/reports/queue",
    "title": "Creates a new Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/reports/queue/{id}",
    "title": "Deletes a Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/queue/describe",
    "title": "Gets table info about Whatsapp Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/queue",
    "title": "Gets a list of Whatsapp Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/queue/{id}",
    "title": "Gets a single Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/reports/queue/{id}",
    "title": "Update an existing Whatsapp Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWhatsapp_Queue_Reports",
    "group": "Whatsapp_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueueReport/index.js",
    "groupTitle": "Whatsapp_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Whatsapp_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "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/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Whatsapp_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappQueue/index.js",
    "groupTitle": "Whatsapp_Queues"
  },
  {
    "type": "post",
    "url": "/api/whatsapp/reports/transfer",
    "title": "Creates a new Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/whatsapp/reports/transfer/{id}",
    "title": "Deletes a Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/transfer/describe",
    "title": "Gets table info about Whatsapp Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWhatsapp_Transfer_Reports",
    "group": "Whatsapp_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/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/transfer",
    "title": "Gets a list of Whatsapp Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/whatsapp/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/whatsapp/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/whatsapp/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/whatsapp/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/whatsapp/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/whatsapp/reports/transfer/{id}",
    "title": "Gets a single Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/whatsapp/reports/transfer/{id}",
    "title": "Update an existing Whatsapp Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/whatsapp/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWhatsapp_Transfer_Reports",
    "group": "Whatsapp_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/whatsappTransferReport/index.js",
    "groupTitle": "Whatsapp_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"lead\"",
              "\"contact\"",
              "\"nothing\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
]
diff --git a/apidoc/api_project.js b/apidoc/api_project.js
index f3b2cec..b55400f 100644
--- a/apidoc/api_project.js
+++ b/apidoc/api_project.js
@@ -1 +1 @@
-define({
  "name": "xCALLY Motion API",
  "version": "2.5.0",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre class=\"prettyprint lang-sh\">GET /api/users\n</pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre class=\"prettyprint lang-sh\">https://motion.xcally.com/api/users\n</pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre class=\"prettyprint lang-sh\">GET  /api/users/{id}\n</pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -H \"Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo\" https://motion.xcally.com/api/users\n</pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-08-07T11:06:48.107Z",
    "url": "http://apidocjs.com",
    "version": "0.19.0"
  }
});
+define({
  "name": "xCALLY Motion API",
  "version": "2.5.0",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre class=\"prettyprint lang-sh\">GET /api/users\n</pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre class=\"prettyprint lang-sh\">https://motion.xcally.com/api/users\n</pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre class=\"prettyprint lang-sh\">GET  /api/users/{id}\n</pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -H \"Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo\" https://motion.xcally.com/api/users\n</pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-08-27T12:35:16.867Z",
    "url": "http://apidocjs.com",
    "version": "0.19.0"
  }
});
diff --git a/apidoc/api_project.json b/apidoc/api_project.json
index 0e5b5a9..8c95a2b 100644
--- a/apidoc/api_project.json
+++ b/apidoc/api_project.json
@@ -1 +1 @@
-{
  "name": "xCALLY Motion API",
  "version": "2.5.0",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre class=\"prettyprint lang-sh\">GET /api/users\n</pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre class=\"prettyprint lang-sh\">https://motion.xcally.com/api/users\n</pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre class=\"prettyprint lang-sh\">GET  /api/users/{id}\n</pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -H \"Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo\" https://motion.xcally.com/api/users\n</pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-08-07T11:06:48.107Z",
    "url": "http://apidocjs.com",
    "version": "0.19.0"
  }
}
+{
  "name": "xCALLY Motion API",
  "version": "2.5.0",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre class=\"prettyprint lang-sh\">GET /api/users\n</pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre class=\"prettyprint lang-sh\">https://motion.xcally.com/api/users\n</pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre class=\"prettyprint lang-sh\">GET  /api/users/{id}\n</pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl -H \"Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo\" https://motion.xcally.com/api/users\n</pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre class=\"prettyprint lang-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-08-27T12:35:16.867Z",
    "url": "http://apidocjs.com",
    "version": "0.19.0"
  }
}
diff --git a/public/app/errors/404/i18n/cs.json b/public/app/errors/404/i18n/cs.json
new file mode 100644
index 0000000..0c40c4e
--- /dev/null
+++ b/public/app/errors/404/i18n/cs.json
@@ -0,0 +1,8 @@
+{
+	"ERROR404": {
+		"CODE": "404",
+		"MESSAGE": "Sorry but we couldn’t find the page you are looking for",
+		"SEARCH": "Search for anything",
+		"GO_BACK": "Go back to dashboard"
+	}
+}
\ No newline at end of file
diff --git a/public/app/errors/404/i18n/et.json b/public/app/errors/404/i18n/et.json
new file mode 100644
index 0000000..0c40c4e
--- /dev/null
+++ b/public/app/errors/404/i18n/et.json
@@ -0,0 +1,8 @@
+{
+	"ERROR404": {
+		"CODE": "404",
+		"MESSAGE": "Sorry but we couldn’t find the page you are looking for",
+		"SEARCH": "Search for anything",
+		"GO_BACK": "Go back to dashboard"
+	}
+}
\ No newline at end of file
diff --git a/public/app/errors/404/i18n/lt.json b/public/app/errors/404/i18n/lt.json
new file mode 100644
index 0000000..0c40c4e
--- /dev/null
+++ b/public/app/errors/404/i18n/lt.json
@@ -0,0 +1,8 @@
+{
+	"ERROR404": {
+		"CODE": "404",
+		"MESSAGE": "Sorry but we couldn’t find the page you are looking for",
+		"SEARCH": "Search for anything",
+		"GO_BACK": "Go back to dashboard"
+	}
+}
\ No newline at end of file
diff --git a/public/app/errors/500/i18n/cs.json b/public/app/errors/500/i18n/cs.json
new file mode 100644
index 0000000..3e32a3c
--- /dev/null
+++ b/public/app/errors/500/i18n/cs.json
@@ -0,0 +1,11 @@
+{
+	"ERROR500": {
+		"CODE": "500",
+		"MESSAGE": "Well, you broke the internet!",
+		"SUBMESSAGE": "Just kidding, looks like we have an internal issue, please try again in couple minutes",
+		"REPORT": "Report this problem",
+		"JIRA_MESSAGE": "Your request has been received and will be processed shortly.",
+		"JIRA_SUBMESSAGE": "Sorry for the inconvenience. If you have any questions or concerns, please do not hesitate to contact us.",
+		"GO_BACK": "Go back to dashboard"
+	}
+}
\ No newline at end of file
diff --git a/public/app/errors/500/i18n/et.json b/public/app/errors/500/i18n/et.json
new file mode 100644
index 0000000..3e32a3c
--- /dev/null
+++ b/public/app/errors/500/i18n/et.json
@@ -0,0 +1,11 @@
+{
+	"ERROR500": {
+		"CODE": "500",
+		"MESSAGE": "Well, you broke the internet!",
+		"SUBMESSAGE": "Just kidding, looks like we have an internal issue, please try again in couple minutes",
+		"REPORT": "Report this problem",
+		"JIRA_MESSAGE": "Your request has been received and will be processed shortly.",
+		"JIRA_SUBMESSAGE": "Sorry for the inconvenience. If you have any questions or concerns, please do not hesitate to contact us.",
+		"GO_BACK": "Go back to dashboard"
+	}
+}
\ No newline at end of file
diff --git a/public/app/errors/500/i18n/lt.json b/public/app/errors/500/i18n/lt.json
new file mode 100644
index 0000000..3e32a3c
--- /dev/null
+++ b/public/app/errors/500/i18n/lt.json
@@ -0,0 +1,11 @@
+{
+	"ERROR500": {
+		"CODE": "500",
+		"MESSAGE": "Well, you broke the internet!",
+		"SUBMESSAGE": "Just kidding, looks like we have an internal issue, please try again in couple minutes",
+		"REPORT": "Report this problem",
+		"JIRA_MESSAGE": "Your request has been received and will be processed shortly.",
+		"JIRA_SUBMESSAGE": "Sorry for the inconvenience. If you have any questions or concerns, please do not hesitate to contact us.",
+		"GO_BACK": "Go back to dashboard"
+	}
+}
\ No newline at end of file
diff --git a/public/app/footer/i18n/cs.json b/public/app/footer/i18n/cs.json
new file mode 100644
index 0000000..244472a
--- /dev/null
+++ b/public/app/footer/i18n/cs.json
@@ -0,0 +1,6 @@
+{
+	"FOOTER": {
+		"COOKIE_LAW": "We use cookies to give you the best experience. Read our <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/Cookie+Policy\" class=\"blue-fg\">cookie policy</a>.",
+		"ERRORS": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/footer/i18n/et.json b/public/app/footer/i18n/et.json
new file mode 100644
index 0000000..244472a
--- /dev/null
+++ b/public/app/footer/i18n/et.json
@@ -0,0 +1,6 @@
+{
+	"FOOTER": {
+		"COOKIE_LAW": "We use cookies to give you the best experience. Read our <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/Cookie+Policy\" class=\"blue-fg\">cookie policy</a>.",
+		"ERRORS": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/footer/i18n/lt.json b/public/app/footer/i18n/lt.json
new file mode 100644
index 0000000..244472a
--- /dev/null
+++ b/public/app/footer/i18n/lt.json
@@ -0,0 +1,6 @@
+{
+	"FOOTER": {
+		"COOKIE_LAW": "We use cookies to give you the best experience. Read our <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/Cookie+Policy\" class=\"blue-fg\">cookie policy</a>.",
+		"ERRORS": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/forgot/i18n/cs.json b/public/app/forgot/i18n/cs.json
new file mode 100644
index 0000000..12ce808
--- /dev/null
+++ b/public/app/forgot/i18n/cs.json
@@ -0,0 +1,15 @@
+{
+	"FORGOTPASSWORD": {
+		"TITLE": "Recover your password",
+		"EMAIL_ADRESS": "Email address",
+		"SEND_RESET_LINK": "SEND RESET LINK",
+		"GO_BACK": "Go back to login",
+		"LINK_SENT": "Link Sent",
+		"LINNK_SENT_MESSAGE": "An email containing a link to reset your password has been sent to your address!",
+		"PASSWORD_RESET_ERROR": "Password Reset Error",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/forgot/i18n/et.json b/public/app/forgot/i18n/et.json
new file mode 100644
index 0000000..12ce808
--- /dev/null
+++ b/public/app/forgot/i18n/et.json
@@ -0,0 +1,15 @@
+{
+	"FORGOTPASSWORD": {
+		"TITLE": "Recover your password",
+		"EMAIL_ADRESS": "Email address",
+		"SEND_RESET_LINK": "SEND RESET LINK",
+		"GO_BACK": "Go back to login",
+		"LINK_SENT": "Link Sent",
+		"LINNK_SENT_MESSAGE": "An email containing a link to reset your password has been sent to your address!",
+		"PASSWORD_RESET_ERROR": "Password Reset Error",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/forgot/i18n/lt.json b/public/app/forgot/i18n/lt.json
new file mode 100644
index 0000000..865d623
--- /dev/null
+++ b/public/app/forgot/i18n/lt.json
@@ -0,0 +1,15 @@
+{
+	"FORGOTPASSWORD": {
+		"TITLE": "Atkurti slaptažodį",
+		"EMAIL_ADRESS": "El. pašto adresas",
+		"SEND_RESET_LINK": "Siųsti atstatymo nuorodą",
+		"GO_BACK": "Grįžti prie prisijungimo",
+		"LINK_SENT": "Nuoroda išsiųsta",
+		"LINNK_SENT_MESSAGE": "Jūsų adresu išsiųstas el. laiškas su slaptažodžio atstatymo nuoroda!",
+		"PASSWORD_RESET_ERROR": "Slaptažodžio atstatymo klaida",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Privalomas laukas",
+			"EMAIL_MUST_VALID": "Blogas formatas"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/header/i18n/cs.json b/public/app/header/i18n/cs.json
new file mode 100644
index 0000000..b0d64bb
--- /dev/null
+++ b/public/app/header/i18n/cs.json
@@ -0,0 +1,6 @@
+{
+	"HEADER": {
+		"NEWS": "Please visit our <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV\" class=\"blue-100-fg\">Wiki</a> to discover the new cool features available on XCALLY.",
+		"ERRORS": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/header/i18n/et.json b/public/app/header/i18n/et.json
new file mode 100644
index 0000000..b0d64bb
--- /dev/null
+++ b/public/app/header/i18n/et.json
@@ -0,0 +1,6 @@
+{
+	"HEADER": {
+		"NEWS": "Please visit our <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV\" class=\"blue-100-fg\">Wiki</a> to discover the new cool features available on XCALLY.",
+		"ERRORS": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/header/i18n/lt.json b/public/app/header/i18n/lt.json
new file mode 100644
index 0000000..b0d64bb
--- /dev/null
+++ b/public/app/header/i18n/lt.json
@@ -0,0 +1,6 @@
+{
+	"HEADER": {
+		"NEWS": "Please visit our <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV\" class=\"blue-100-fg\">Wiki</a> to discover the new cool features available on XCALLY.",
+		"ERRORS": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/login/i18n/cs.json b/public/app/login/i18n/cs.json
new file mode 100644
index 0000000..c51a97a
--- /dev/null
+++ b/public/app/login/i18n/cs.json
@@ -0,0 +1,25 @@
+{
+	"LOGIN": {
+		"TELEPHONES": "Telephones",
+		"SELECT": "Select",
+		"CANCEL": "Cancel",
+		"TITLE": "Log in to your account",
+		"EMAIL": "Email",
+		"USERNAME": "Username",
+		"PASSWORD": "Password",
+		"REMEMBER_ME": "Remember Me",
+		"FORGOT_PASSWORD": "Forgot Password?",
+		"LOG_IN": "LOG IN",
+		"OR": "OR",
+		"WITH_GOOGLE": "Log in with Google",
+		"WITH_FACEBOOK": "Log in with Facebook",
+		"DONT_HAVE_ACCOUNT": "No account?",
+		"CREATE_ACCOUNT": "Create an account",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/login/i18n/et.json b/public/app/login/i18n/et.json
new file mode 100644
index 0000000..c51a97a
--- /dev/null
+++ b/public/app/login/i18n/et.json
@@ -0,0 +1,25 @@
+{
+	"LOGIN": {
+		"TELEPHONES": "Telephones",
+		"SELECT": "Select",
+		"CANCEL": "Cancel",
+		"TITLE": "Log in to your account",
+		"EMAIL": "Email",
+		"USERNAME": "Username",
+		"PASSWORD": "Password",
+		"REMEMBER_ME": "Remember Me",
+		"FORGOT_PASSWORD": "Forgot Password?",
+		"LOG_IN": "LOG IN",
+		"OR": "OR",
+		"WITH_GOOGLE": "Log in with Google",
+		"WITH_FACEBOOK": "Log in with Facebook",
+		"DONT_HAVE_ACCOUNT": "No account?",
+		"CREATE_ACCOUNT": "Create an account",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/login/i18n/lt.json b/public/app/login/i18n/lt.json
new file mode 100644
index 0000000..282f3c7
--- /dev/null
+++ b/public/app/login/i18n/lt.json
@@ -0,0 +1,25 @@
+{
+	"LOGIN": {
+		"TELEPHONES": "Telefonai",
+		"SELECT": "Pasirinkti",
+		"CANCEL": "Atšaukti",
+		"TITLE": "Prisijungti prie savo paskyros",
+		"EMAIL": "El. paštas",
+		"USERNAME": "Vartotojo vardas",
+		"PASSWORD": "Slaptažodis",
+		"REMEMBER_ME": "Prisiminti mane",
+		"FORGOT_PASSWORD": "Pamiršote slaptažodį?",
+		"LOG_IN": "Prisijungti",
+		"OR": "Arba",
+		"WITH_GOOGLE": "Prisijungti naudojant Google",
+		"WITH_FACEBOOK": "Prisijungti naudojant Facebook",
+		"DONT_HAVE_ACCOUNT": "Neturite paskyros?",
+		"CREATE_ACCOUNT": "Sukurti paskyrą",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Privalomas laukas",
+			"EMAIL_MUST_VALID": "Blogas formatas",
+			"PASSWORD_REQUIRED": "Privalomas laukas",
+			"USERNAME_REQUIRED": "Privalomas laukas"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/analytics/i18n/cs.json b/public/app/main/apps/analytics/i18n/cs.json
new file mode 100644
index 0000000..ca160e2
--- /dev/null
+++ b/public/app/main/apps/analytics/i18n/cs.json
@@ -0,0 +1,88 @@
+{
+	"ANALYTICS": {
+		"SEND_IF_EMPTY": "Send if empty",
+		"REPORTNAME": "Report Name",
+		"DELETE": "Delete",
+		"NAME": "Name",
+		"ANALYTICS": "Analytics",
+		"METRICS": "Metrics",
+		"ID": "Id",
+		"TABLE": "Table",
+		"DESCRIPTION": "Description",
+		"SEARCH_FOR_ANYONE": "Search",
+		"METRIC": "Metric",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"METRIC_REQUIRED": "Mandatory field",
+			"COLUMN_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"CUSTOM_METRIC_REQUIRED": "Mandatory field",
+			"ALIAS_REQUIRED": "Mandatory field"
+		},
+		"NEW_METRIC": "New Metric",
+		"ADD_METRIC": "Add Metric",
+		"EDIT_METRIC": "Edit Metric",
+		"DELETE_METRIC": "Delete Metric",
+		"SAVE": "Save",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"TYPE": "Type",
+		"EXTRACTEDREPORTS": "Extracted Reports",
+		"DATE_RANGE_FROM": "Date Range From",
+		"DATE_RANGE_TO": "Date Range To",
+		"GENERATED_AT": "Generated At",
+		"STATUS": "Status",
+		"OUTPUT": "Output",
+		"REPORTS": "Reports",
+		"SEARCH_FOR_FOLDER": "Search for folder",
+		"CREATED_AT": "Created At",
+		"NEW_REPORT": "New Report",
+		"ADD_REPORT": "Add Report",
+		"COPY_REPORT": "Copy Report",
+		"PREVIEW_REPORT": "Preview Report",
+		"RUN_REPORT": "Run Report",
+		"DOWNLOAD_JSON_REPORT": "Export Report JSON",
+		"EDIT_REPORT": "Edit Report",
+		"DELETE_REPORT": "Delete Report",
+		"CREATE": "Create Folder",
+		"RENAME": "Rename Folder",
+		"REMOVE": "Remove Folder",
+		"SELECT_NODE": "Select Folder",
+		"ERROR": "Error",
+		"QUERY_ERROR": "Query Error",
+		"MESSAGE": "Message",
+		"CLOSE": "Close",
+		"FORMAT": "Format",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"FIELDS": "Fields",
+		"CONDITION": "Condition",
+		"OPERATOR": "Operator",
+		"GROUP": "Group",
+		"COLUMN": "Column",
+		"VALUE": "Value",
+		"PREVIEW": "Preview",
+		"LIMITED_RESULT": "*Limited Results",
+		"NO_DATA": "No data results",
+		"CONDITIONS": "Conditions",
+		"ALIAS": "Alias",
+		"FUNCTION": "Function",
+		"GROUP_BY": "Group By",
+		"ORDER_BY": "Order By",
+		"ADD_REPORTFIELD": "Add Field",
+		"EDIT_REPORTFIELD": "Edit Field",
+		"DELETE_REPORTFIELD": "Delete Field",
+		"METRIC_NAME": "Metric",
+		"NO_METRIC_FOUND": "No metric found",
+		"NO_AVAILABLE_INFO": "No available info",
+		"CUSTOM_METRIC": "Custom Metric",
+		"DELETE_EXTRACTEDREPORT": "Delete Extracted Report",
+		"EDIT_EXTRACTEDREPORT": "Edit Extracted Report",
+		"DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/analytics/i18n/et.json b/public/app/main/apps/analytics/i18n/et.json
new file mode 100644
index 0000000..ca160e2
--- /dev/null
+++ b/public/app/main/apps/analytics/i18n/et.json
@@ -0,0 +1,88 @@
+{
+	"ANALYTICS": {
+		"SEND_IF_EMPTY": "Send if empty",
+		"REPORTNAME": "Report Name",
+		"DELETE": "Delete",
+		"NAME": "Name",
+		"ANALYTICS": "Analytics",
+		"METRICS": "Metrics",
+		"ID": "Id",
+		"TABLE": "Table",
+		"DESCRIPTION": "Description",
+		"SEARCH_FOR_ANYONE": "Search",
+		"METRIC": "Metric",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"METRIC_REQUIRED": "Mandatory field",
+			"COLUMN_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"CUSTOM_METRIC_REQUIRED": "Mandatory field",
+			"ALIAS_REQUIRED": "Mandatory field"
+		},
+		"NEW_METRIC": "New Metric",
+		"ADD_METRIC": "Add Metric",
+		"EDIT_METRIC": "Edit Metric",
+		"DELETE_METRIC": "Delete Metric",
+		"SAVE": "Save",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"TYPE": "Type",
+		"EXTRACTEDREPORTS": "Extracted Reports",
+		"DATE_RANGE_FROM": "Date Range From",
+		"DATE_RANGE_TO": "Date Range To",
+		"GENERATED_AT": "Generated At",
+		"STATUS": "Status",
+		"OUTPUT": "Output",
+		"REPORTS": "Reports",
+		"SEARCH_FOR_FOLDER": "Search for folder",
+		"CREATED_AT": "Created At",
+		"NEW_REPORT": "New Report",
+		"ADD_REPORT": "Add Report",
+		"COPY_REPORT": "Copy Report",
+		"PREVIEW_REPORT": "Preview Report",
+		"RUN_REPORT": "Run Report",
+		"DOWNLOAD_JSON_REPORT": "Export Report JSON",
+		"EDIT_REPORT": "Edit Report",
+		"DELETE_REPORT": "Delete Report",
+		"CREATE": "Create Folder",
+		"RENAME": "Rename Folder",
+		"REMOVE": "Remove Folder",
+		"SELECT_NODE": "Select Folder",
+		"ERROR": "Error",
+		"QUERY_ERROR": "Query Error",
+		"MESSAGE": "Message",
+		"CLOSE": "Close",
+		"FORMAT": "Format",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"FIELDS": "Fields",
+		"CONDITION": "Condition",
+		"OPERATOR": "Operator",
+		"GROUP": "Group",
+		"COLUMN": "Column",
+		"VALUE": "Value",
+		"PREVIEW": "Preview",
+		"LIMITED_RESULT": "*Limited Results",
+		"NO_DATA": "No data results",
+		"CONDITIONS": "Conditions",
+		"ALIAS": "Alias",
+		"FUNCTION": "Function",
+		"GROUP_BY": "Group By",
+		"ORDER_BY": "Order By",
+		"ADD_REPORTFIELD": "Add Field",
+		"EDIT_REPORTFIELD": "Edit Field",
+		"DELETE_REPORTFIELD": "Delete Field",
+		"METRIC_NAME": "Metric",
+		"NO_METRIC_FOUND": "No metric found",
+		"NO_AVAILABLE_INFO": "No available info",
+		"CUSTOM_METRIC": "Custom Metric",
+		"DELETE_EXTRACTEDREPORT": "Delete Extracted Report",
+		"EDIT_EXTRACTEDREPORT": "Edit Extracted Report",
+		"DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/analytics/i18n/lt.json b/public/app/main/apps/analytics/i18n/lt.json
new file mode 100644
index 0000000..42235ee
--- /dev/null
+++ b/public/app/main/apps/analytics/i18n/lt.json
@@ -0,0 +1,88 @@
+{
+	"ANALYTICS": {
+		"SEND_IF_EMPTY": "Siųsti, jei tuščia",
+		"REPORTNAME": "Ataskaitos pavadinimas",
+		"DELETE": "Ištrinti",
+		"NAME": "Pavadinimas",
+		"ANALYTICS": "Analizė",
+		"METRICS": "Metrikos",
+		"ID": "Id",
+		"TABLE": "Lentelė",
+		"DESCRIPTION": "Aprašymas",
+		"SEARCH_FOR_ANYONE": "Paieška",
+		"METRIC": "Metrika",
+		"ERRORS": {
+			"NAME_REQUIRED": "Privalomas laukas",
+			"METRIC_REQUIRED": "Privalomas laukas",
+			"COLUMN_REQUIRED": "Privalomas laukas",
+			"VALUE_REQUIRED": "Privalomas laukas",
+			"CUSTOM_METRIC_REQUIRED": "Privalomas laukas",
+			"ALIAS_REQUIRED": "Privalomas laukas"
+		},
+		"NEW_METRIC": "Nauja metrika",
+		"ADD_METRIC": "Pridėti metriką",
+		"EDIT_METRIC": "Redaguoti metriką",
+		"DELETE_METRIC": "Ištrinti metriką",
+		"SAVE": "Išsaugoti",
+		"BACK": "Atgal",
+		"SELECTED": "Pasirinkta",
+		"SELECT_ALL": "Pasirinkti viską",
+		"SELECT_NONE": "Nieko nepasirinkti",
+		"TYPE": "Tipas",
+		"EXTRACTEDREPORTS": "Išplėstinės ataskaitos",
+		"DATE_RANGE_FROM": "Laikotarpis nuo",
+		"DATE_RANGE_TO": "Laikotarpis iki",
+		"GENERATED_AT": "Generuoti į",
+		"STATUS": "Statusas",
+		"OUTPUT": "Išeiga",
+		"REPORTS": "Ataskaitos",
+		"SEARCH_FOR_FOLDER": "Ieškoti aplanko",
+		"CREATED_AT": "Sukurtas",
+		"NEW_REPORT": "Nauja ataskaita",
+		"ADD_REPORT": "Pridėti ataskaitą",
+		"COPY_REPORT": "Kopijuoti ataskaitą",
+		"PREVIEW_REPORT": "Peržiūrėti ataskaitą",
+		"RUN_REPORT": "Paleisti ataskaitą",
+		"DOWNLOAD_JSON_REPORT": "Eksportuoti ataskaitą JSON",
+		"EDIT_REPORT": "Redaguoti ataskaitą",
+		"DELETE_REPORT": "Ištrinti ataskaitą",
+		"CREATE": "Sukurti aplanką",
+		"RENAME": "Pervardyti aplanką",
+		"REMOVE": "Pašalinti aplanką",
+		"SELECT_NODE": "Pasirinkti aplanką",
+		"ERROR": "Klaida",
+		"QUERY_ERROR": "Užklausos klaida",
+		"MESSAGE": "Žinutė",
+		"CLOSE": "Uždaryti",
+		"FORMAT": "Formatas",
+		"SETTINGS": "Nustatymai",
+		"GENERAL": "Bendras",
+		"FIELDS": "Laukai",
+		"CONDITION": "Būsena",
+		"OPERATOR": "Operatorius",
+		"GROUP": "Grupė",
+		"COLUMN": "Stulpelis",
+		"VALUE": "Vertė",
+		"PREVIEW": "Peržiūra",
+		"LIMITED_RESULT": "*Riboti rezultatai",
+		"NO_DATA": "Duomenų rezultatų nėra",
+		"CONDITIONS": "Būsenos",
+		"ALIAS": "Slapyvardis",
+		"FUNCTION": "Funkcija",
+		"GROUP_BY": "Grupuoti pagal",
+		"ORDER_BY": "Rūšiuoti pagal",
+		"ADD_REPORTFIELD": "Pridėti lauką",
+		"EDIT_REPORTFIELD": "Redaguoti lauką",
+		"DELETE_REPORTFIELD": "Ištrinti lauką",
+		"METRIC_NAME": "Metrika",
+		"NO_METRIC_FOUND": "Metrika nerasta",
+		"NO_AVAILABLE_INFO": "Informacijos nėra",
+		"CUSTOM_METRIC": "Įprasta metrika",
+		"DELETE_EXTRACTEDREPORT": "Ištrinti išplėstinę ataskaitą",
+		"EDIT_EXTRACTEDREPORT": "Redaguoti išplėstinę ataskaitą",
+		"DOWNLOAD_EXTRACTEDREPORT": "Atsisiųsti išplėstinę ataskaitą",
+		"PAGE": "Puslapis",
+		"ROWSPERPAGE": "Eilutės puslapyje",
+		"OF": "Iš"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/callysquare/i18n/cs.json b/public/app/main/apps/callysquare/i18n/cs.json
new file mode 100644
index 0000000..5b2fbff
--- /dev/null
+++ b/public/app/main/apps/callysquare/i18n/cs.json
@@ -0,0 +1,235 @@
+{
+	"CALLYSQUARE": {
+		"AWSLEX": "Amazon Lex",
+		"AWS_LEX_REGION": "Region",
+		"AWS_BOT_NAME": "Bot name",
+		"ADDUSER_PROJECTS": "Add Users to Project",
+		"PERMISSIONADD_PROJECTS": "Add Users to Project",
+		"ALL_USERS": "All Users",
+		"SELECTED_USERS": "Selected Users",
+		"DIALOGFLOW": "Dialogflow",
+		"DIALOGFLOW_LANGUAGE": "Language",
+		"AWS_TEXT_TYPE": "Text type",
+		"PAUSE_ID": "Pause type",
+		"FINDBY": "Find By",
+		"LOGIN": "Login",
+		"PAUSE": "Pause",
+		"UNPAUSE": "End Pause",
+		"LOGOUT": "Logout",
+		"URI": "URI",
+		"SMS_ACCOUNT_ID": "Account",
+		"NAME": "Name",
+		"ODBC": "ODBC",
+		"TEST_ODBC": "Test ODBC",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DSN": "DSN",
+		"DESCRIPTION": "Description",
+		"ADD_ODBC": "Add ODBC",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"DSN_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"URL_REQUIRED": "Povinné pole"
+		},
+		"EDIT_ODBC": "Edit ODBC",
+		"DELETE_ODBC": "Delete ODBC",
+		"SAVE": "Save",
+		"PROJECTS": "Projects",
+		"ADD_PROJECT": "Add Project",
+		"EDIT_PROJECT": "Edit Project",
+		"DELETE_PROJECT": "Delete Project",
+		"CALLYSQUARE": "Cally Square",
+		"ID": "Id",
+		"NEW_ODBC": "New ODBC connection",
+		"SQUARERECORDINGS": "Recordings",
+		"PROJECT": "Project",
+		"UNIQUEID": "Unique ID",
+		"PHONE": "Phone",
+		"EXTEN": "Exten",
+		"AUDIO": "Audio",
+		"CREATED_AT": "Created At",
+		"NOTES": "Notes",
+		"NEW_PROJECT": "New Project",
+		"EDIT": "Edit",
+		"LABEL": "Label",
+		"ANSWER": "Answer",
+		"TIMEOUT": "Timeout",
+		"SIP_ID": "SIP",
+		"OPTS": "Options",
+		"URL": "URL",
+		"TRUNK_NAME": "Trunk",
+		"START": "Start",
+		"FINALLY": "Finally",
+		"END": "End",
+		"HANGUP": "Hangup",
+		"DIAL": "Dial",
+		"EXT_DIAL": "External Dial",
+		"QUEUE": "Queue",
+		"QUEUE_ID": "Queue",
+		"FILE_ID": "Audio",
+		"AGI": "AGI",
+		"MACRO": "Macro",
+		"GOSUB": "GoSub",
+		"POSITION": "Position",
+		"VOICEMAIL": "Voicemail",
+		"MAILBOX": "Mailbox",
+		"OPTIONS": "Options",
+		"SET": "Set",
+		"VARIABLE_ID": "Variable",
+		"VARIABLE_VALUE": "Value",
+		"MATH": "Math",
+		"OPERATION": "Operation",
+		"PLAYBACK": "Playback",
+		"RESPONSE": "Response Timeout",
+		"DIGIT": "Max Digits",
+		"RETRY": "Retries",
+		"DIGITS": "Digits",
+		"ESCAPE_DIGITS": "Escape Digits",
+		"MENU": "Menu",
+		"SAYDIGITS": "Say Digits",
+		"SAYNUMBER": "Say number",
+		"NUMBER": "Number",
+		"SAYPHONETIC": "Say Phonetics",
+		"TEXT": "Text",
+		"GOOGLE_TTS_LANGUAGE": "Language",
+		"TTS": "Google Text-To-Speech",
+		"ISPEECHTTS": "iSpeech Text-To-Speech",
+		"KEY": "Key",
+		"ISPEECH_TTS_LANGUAGE": "Language",
+		"SPEED": "Speed",
+		"INTKEY": "Interrupt Key",
+		"GETDIGITS": "Get Digits",
+		"MINDIGIT": "Minimum Digits",
+		"MAXDIGIT": "Maximum Digits",
+		"HIDDENDIGITSNUM": "Hiddden Digits Number",
+		"HIDDENDIGITSPOS": "hidden Digits Position",
+		"GETSECRETDIGITS": "Get Secret Digits",
+		"RECORD": "Record",
+		"FILE": "Filename",
+		"RECORDINGFORMAT": "Recording Format",
+		"DATABASE": "Database",
+		"ODBC_ID": "ODBC Connection",
+		"QUERY": "Query",
+		"MODEL": "Model",
+		"ISPEECH_ASR_LANGUAGE": "Language",
+		"BEEP": "Beep",
+		"ISPEECHASR": "iSpeech ASR",
+		"SENDSMS": "Send SMS",
+		"ACCOUNT_ID": "Account",
+		"TO": "To",
+		"SMS_TEXT": "Text",
+		"SENDMAIL": "Send Email",
+		"TEMPLATE_ID": "Template",
+		"CC": "CC",
+		"BCC": "BCC",
+		"SUBJECT": "Subject",
+		"GOTOC": "GoTo",
+		"CONTEXT": "Context",
+		"EXTENSION": "Extension",
+		"PRIORITY": "Priority",
+		"GOTOIF": "GoToIf",
+		"CONDITION": "Condition",
+		"GOTOIFTIME": "GoToIfTime",
+		"INTERVAL_ID": "Interval",
+		"VSWITCH": "Variable Switch",
+		"GOAL": "Goal",
+		"GOALNAME": "Goal Name",
+		"NOOP": "NoOp",
+		"OUTPUT": "Output",
+		"SYSTEM": "System",
+		"COMMAND": "Command",
+		"ARGS": "Arguments",
+		"SUBPROJECT": "Sub Project",
+		"PROJECT_ID": "Project",
+		"CUSTOM_APP": "Custom Application",
+		"APPLICATION": "Application",
+		"CALLBACK": "Callback",
+		"LASTNAME": "Last Name",
+		"LIST_ID": "List",
+		"DELAY": "delay [min]",
+		"OPEN_NEW_WINDOW": "Open in a new window",
+		"OPEN_PROJECT": "Open Project",
+		"COPY": "Copy",
+		"OPEN": "Open",
+		"NEW": "New",
+		"COPY_PROJECT": "Copy Project",
+		"NEW_VARIABLE": "New Variable",
+		"ADD_VARIABLE": "Add Variable",
+		"UPDATE_DESCRIPTION": "Update Description",
+		"EDIT_XML": "Edit XML",
+		"IMPORT_XML": "Import XML",
+		"IMPORT": "Import",
+		"DROP_TO_UPLOAD": "DROP TO UPLOAD",
+		"DROP_TO_UPLOAD_MESSAGE": "You can also drop files here to upload. Only XML - Max. 5MB",
+		"CLOSE": "Close",
+		"NO_AVAILABLE_INFO": "No available info",
+		"GO_TO_PROJECTS": "Go to projects",
+		"UPDATE_INFO": "Update Info",
+		"AGENTS": "Agents",
+		"TELEPHONES": "Telephones",
+		"USERS": "Users",
+		"HELP": {
+			"MAILBOX": "mailbox@context",
+			"DSN": "Example: DRIVER=MySQL;SERVER=127.0.0.1;UID=xcall;PWD=password;DATABASE=motion",
+			"TO": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"CC": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"BCC": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])"
+		},
+		"CHOOSE_ATTACHMENT": "Choose Attachment",
+		"ATTACHMENT_NAME": "Attachment Name",
+		"ATTACHMENT_TYPE": "Attachment Type",
+		"ATTACHMENT_PATH": "Attachment Path",
+		"SENDFAX": "Send Fax",
+		"DELETE_SQUARERECORDING": "Delete Square Recording",
+		"DOWNLOAD_SQUARERECORDING": "Download Square Recording",
+		"FILENAME": "Filename",
+		"EDIT_SQUARERECORDING": "Edit Square Recording",
+		"DELETE": "Delete",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CALLBACK_PRIORITY": "Priority",
+		"GOOGLE_ASR_LANGUAGE": "Language",
+		"GOOGLEASR": "GoogleASR",
+		"AWSPOLLY": "AWS Polly",
+		"AWS_ACCESS_KEY_ID": "Access Key ID",
+		"AWS_SECRET_ACCESS_KEY": "Secret Access Key",
+		"AWS_POLLY_REGION": "Region",
+		"AWS_POLLY_VOICE": "Voice",
+		"LUMENVOXTTS": "Lumenvox Text-To-Speech",
+		"LUMENVOXASR": "Lumenvox ASR",
+		"GRAMMAR": "Grammar",
+		"TILDEASR": "Tilde ASR",
+		"APPID": "App ID",
+		"APPSECRET": "App Secret",
+		"APIKEY": "ApiKey",
+		"AUDIOENCODING": "Audio kódování",
+		"BODY": "Tělo",
+		"COMPUTEDVARIABLES": "Cesta skriptu vypočtené proměnné",
+		"CUSTOM_ACTION": "Vlastní akce",
+		"CUSTOM_ACTION_DATA": "Data vlastních akcí",
+		"GOOGLE_CLOUD_TTS": "Google Cloud TTS",
+		"GOOGLE_CLOUD_TTS_TEXT_TYPE": "Typ textu",
+		"HEADERS": "Záhlaví",
+		"LANGUAGECODE": "Kód jazyka",
+		"METHOD": "Metoda",
+		"NDAACTIVITY_TYPE": "Aktivní typ",
+		"NDAGENERATE_AUDIO": "Vygenerujte zvukový soubor",
+		"NDASSISTANT_URL": "NDASSISTANT Url",
+		"NDAUTH_URL": "NDAUTH Url",
+		"PASSWORD": "Heslo",
+		"RAWBODY": "Tělo",
+		"RAWHEADERS": "Záhlaví",
+		"RESTAPI": "Rest API",
+		"SESTEKASR": "Sestek ASR",
+		"SESTEKNDA": "Sestek NDA",
+		"SESTEKTTS": "Sestek TTS",
+		"SSMLGENDER": "Rod",
+		"USERNAME": "Uživatelské jméno"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/callysquare/i18n/et.json b/public/app/main/apps/callysquare/i18n/et.json
new file mode 100644
index 0000000..adc5c01
--- /dev/null
+++ b/public/app/main/apps/callysquare/i18n/et.json
@@ -0,0 +1,235 @@
+{
+	"CALLYSQUARE": {
+		"AWSLEX": "Amazon Lex",
+		"AWS_LEX_REGION": "Region",
+		"AWS_BOT_NAME": "Bot name",
+		"ADDUSER_PROJECTS": "Add Users to Project",
+		"PERMISSIONADD_PROJECTS": "Add Users to Project",
+		"ALL_USERS": "All Users",
+		"SELECTED_USERS": "Selected Users",
+		"DIALOGFLOW": "Dialogflow",
+		"DIALOGFLOW_LANGUAGE": "Language",
+		"AWS_TEXT_TYPE": "Text type",
+		"PAUSE_ID": "Pause type",
+		"FINDBY": "Find By",
+		"LOGIN": "Login",
+		"PAUSE": "Pause",
+		"UNPAUSE": "End Pause",
+		"LOGOUT": "Logout",
+		"URI": "URI",
+		"SMS_ACCOUNT_ID": "Account",
+		"NAME": "Name",
+		"ODBC": "ODBC",
+		"TEST_ODBC": "Test ODBC",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DSN": "DSN",
+		"DESCRIPTION": "Description",
+		"ADD_ODBC": "Add ODBC",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"DSN_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"URL_REQUIRED": "Kohustuslik väli"
+		},
+		"EDIT_ODBC": "Edit ODBC",
+		"DELETE_ODBC": "Delete ODBC",
+		"SAVE": "Save",
+		"PROJECTS": "Projects",
+		"ADD_PROJECT": "Add Project",
+		"EDIT_PROJECT": "Edit Project",
+		"DELETE_PROJECT": "Delete Project",
+		"CALLYSQUARE": "Cally Square",
+		"ID": "Id",
+		"NEW_ODBC": "New ODBC connection",
+		"SQUARERECORDINGS": "Recordings",
+		"PROJECT": "Project",
+		"UNIQUEID": "Unique ID",
+		"PHONE": "Phone",
+		"EXTEN": "Exten",
+		"AUDIO": "Audio",
+		"CREATED_AT": "Created At",
+		"NOTES": "Notes",
+		"NEW_PROJECT": "New Project",
+		"EDIT": "Edit",
+		"LABEL": "Label",
+		"ANSWER": "Answer",
+		"TIMEOUT": "Timeout",
+		"SIP_ID": "SIP",
+		"OPTS": "Options",
+		"URL": "URL",
+		"TRUNK_NAME": "Trunk",
+		"START": "Start",
+		"FINALLY": "Finally",
+		"END": "End",
+		"HANGUP": "Hangup",
+		"DIAL": "Dial",
+		"EXT_DIAL": "External Dial",
+		"QUEUE": "Queue",
+		"QUEUE_ID": "Queue",
+		"FILE_ID": "Audio",
+		"AGI": "AGI",
+		"MACRO": "Macro",
+		"GOSUB": "GoSub",
+		"POSITION": "Position",
+		"VOICEMAIL": "Voicemail",
+		"MAILBOX": "Mailbox",
+		"OPTIONS": "Options",
+		"SET": "Set",
+		"VARIABLE_ID": "Variable",
+		"VARIABLE_VALUE": "Value",
+		"MATH": "Math",
+		"OPERATION": "Operation",
+		"PLAYBACK": "Playback",
+		"RESPONSE": "Response Timeout",
+		"DIGIT": "Max Digits",
+		"RETRY": "Retries",
+		"DIGITS": "Digits",
+		"ESCAPE_DIGITS": "Escape Digits",
+		"MENU": "Menu",
+		"SAYDIGITS": "Say Digits",
+		"SAYNUMBER": "Say number",
+		"NUMBER": "Number",
+		"SAYPHONETIC": "Say Phonetics",
+		"TEXT": "Text",
+		"GOOGLE_TTS_LANGUAGE": "Language",
+		"TTS": "Google Text-To-Speech",
+		"ISPEECHTTS": "iSpeech Text-To-Speech",
+		"KEY": "Key",
+		"ISPEECH_TTS_LANGUAGE": "Language",
+		"SPEED": "Speed",
+		"INTKEY": "Interrupt Key",
+		"GETDIGITS": "Get Digits",
+		"MINDIGIT": "Minimum Digits",
+		"MAXDIGIT": "Maximum Digits",
+		"HIDDENDIGITSNUM": "Hiddden Digits Number",
+		"HIDDENDIGITSPOS": "hidden Digits Position",
+		"GETSECRETDIGITS": "Get Secret Digits",
+		"RECORD": "Record",
+		"FILE": "Filename",
+		"RECORDINGFORMAT": "Recording Format",
+		"DATABASE": "Database",
+		"ODBC_ID": "ODBC Connection",
+		"QUERY": "Query",
+		"MODEL": "Model",
+		"ISPEECH_ASR_LANGUAGE": "Language",
+		"BEEP": "Beep",
+		"ISPEECHASR": "iSpeech ASR",
+		"SENDSMS": "Send SMS",
+		"ACCOUNT_ID": "Account",
+		"TO": "To",
+		"SMS_TEXT": "Text",
+		"SENDMAIL": "Send Email",
+		"TEMPLATE_ID": "Template",
+		"CC": "CC",
+		"BCC": "BCC",
+		"SUBJECT": "Subject",
+		"GOTOC": "GoTo",
+		"CONTEXT": "Context",
+		"EXTENSION": "Extension",
+		"PRIORITY": "Priority",
+		"GOTOIF": "GoToIf",
+		"CONDITION": "Condition",
+		"GOTOIFTIME": "GoToIfTime",
+		"INTERVAL_ID": "Interval",
+		"VSWITCH": "Variable Switch",
+		"GOAL": "Goal",
+		"GOALNAME": "Goal Name",
+		"NOOP": "NoOp",
+		"OUTPUT": "Output",
+		"SYSTEM": "System",
+		"COMMAND": "Command",
+		"ARGS": "Arguments",
+		"SUBPROJECT": "Sub Project",
+		"PROJECT_ID": "Project",
+		"CUSTOM_APP": "Custom Application",
+		"APPLICATION": "Application",
+		"CALLBACK": "Callback",
+		"LASTNAME": "Last Name",
+		"LIST_ID": "List",
+		"DELAY": "delay [min]",
+		"OPEN_NEW_WINDOW": "Open in a new window",
+		"OPEN_PROJECT": "Open Project",
+		"COPY": "Copy",
+		"OPEN": "Open",
+		"NEW": "New",
+		"COPY_PROJECT": "Copy Project",
+		"NEW_VARIABLE": "New Variable",
+		"ADD_VARIABLE": "Add Variable",
+		"UPDATE_DESCRIPTION": "Update Description",
+		"EDIT_XML": "Edit XML",
+		"IMPORT_XML": "Import XML",
+		"IMPORT": "Import",
+		"DROP_TO_UPLOAD": "DROP TO UPLOAD",
+		"DROP_TO_UPLOAD_MESSAGE": "You can also drop files here to upload. Only XML - Max. 5MB",
+		"CLOSE": "Close",
+		"NO_AVAILABLE_INFO": "No available info",
+		"GO_TO_PROJECTS": "Go to projects",
+		"UPDATE_INFO": "Update Info",
+		"AGENTS": "Agents",
+		"TELEPHONES": "Telephones",
+		"USERS": "Users",
+		"HELP": {
+			"MAILBOX": "mailbox@context",
+			"DSN": "Example: DRIVER=MySQL;SERVER=127.0.0.1;UID=xcall;PWD=password;DATABASE=motion",
+			"TO": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"CC": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"BCC": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])"
+		},
+		"CHOOSE_ATTACHMENT": "Choose Attachment",
+		"ATTACHMENT_NAME": "Attachment Name",
+		"ATTACHMENT_TYPE": "Attachment Type",
+		"ATTACHMENT_PATH": "Attachment Path",
+		"SENDFAX": "Send Fax",
+		"DELETE_SQUARERECORDING": "Delete Square Recording",
+		"DOWNLOAD_SQUARERECORDING": "Download Square Recording",
+		"FILENAME": "Filename",
+		"EDIT_SQUARERECORDING": "Edit Square Recording",
+		"DELETE": "Delete",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CALLBACK_PRIORITY": "Priority",
+		"GOOGLE_ASR_LANGUAGE": "Language",
+		"GOOGLEASR": "GoogleASR",
+		"AWSPOLLY": "AWS Polly",
+		"AWS_ACCESS_KEY_ID": "Access Key ID",
+		"AWS_SECRET_ACCESS_KEY": "Secret Access Key",
+		"AWS_POLLY_REGION": "Region",
+		"AWS_POLLY_VOICE": "Voice",
+		"LUMENVOXTTS": "Lumenvox Text-To-Speech",
+		"LUMENVOXASR": "Lumenvox ASR",
+		"GRAMMAR": "Grammar",
+		"TILDEASR": "Tilde ASR",
+		"APPID": "App ID",
+		"APPSECRET": "App Secret",
+		"APIKEY": "ApiKey",
+		"AUDIOENCODING": "Heli kodeerimine",
+		"BODY": "Keha",
+		"COMPUTEDVARIABLES": "Arvutatud muutujate skripti tee",
+		"CUSTOM_ACTION": "Kohandatud toiming",
+		"CUSTOM_ACTION_DATA": "Kohandatud toimingu andmed",
+		"GOOGLE_CLOUD_TTS": "Google Cloud TTS",
+		"GOOGLE_CLOUD_TTS_TEXT_TYPE": "Teksti tüüp",
+		"HEADERS": "Päised",
+		"LANGUAGECODE": "Keelekood",
+		"METHOD": "Meetod",
+		"NDAACTIVITY_TYPE": "Tegevuse tüüp",
+		"NDAGENERATE_AUDIO": "Loo helifail",
+		"NDASSISTANT_URL": "NDASSISTANT URL",
+		"NDAUTH_URL": "NDAUTHi URL",
+		"PASSWORD": "Parool",
+		"RAWBODY": "Keha",
+		"RAWHEADERS": "Päised",
+		"RESTAPI": "Puhkuse API",
+		"SESTEKASR": "Sestek ASR",
+		"SESTEKNDA": "Sestek NDA",
+		"SESTEKTTS": "Sestek TTS",
+		"SSMLGENDER": "Sugu",
+		"USERNAME": "Kasutajanimi"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/callysquare/i18n/lt.json b/public/app/main/apps/callysquare/i18n/lt.json
new file mode 100644
index 0000000..0e842ac
--- /dev/null
+++ b/public/app/main/apps/callysquare/i18n/lt.json
@@ -0,0 +1,235 @@
+{
+	"CALLYSQUARE": {
+		"CUSTOM_ACTION": "Pasirinktinis veiksmas",
+		"CUSTOM_ACTION_DATA": "Pasirinktinio veiksmo duomenys",
+		"NDAACTIVITY_TYPE": "Veiksmo tipas",
+		"NDAGENERATE_AUDIO": "Generuoti garso failą",
+		"SESTEKASR": "Sestek ASR",
+		"NDAUTH_URL": "NDAUTH Url",
+		"NDASSISTANT_URL": "NDASSISTANT Url",
+		"USERNAME": "Vartotojo vardas",
+		"PASSWORD": "Slaptažodis",
+		"SESTEKNDA": "Sestek NDA",
+		"SESTEKTTS": "Sestek TTS",
+		"AWSLEX": "Amazon Lex",
+		"AWS_LEX_REGION": "Regionas",
+		"AWS_BOT_NAME": "Bot pavadinimas",
+		"ADDUSER_PROJECTS": "Pridėti vartotojus prie projekto",
+		"PERMISSIONADD_PROJECTS": "Pridėti vartotojus prie projekto",
+		"ALL_USERS": "Visi vartotojai",
+		"SELECTED_USERS": "Pasirinkti vartotojai",
+		"DIALOGFLOW": "Dialogo srautas",
+		"DIALOGFLOW_LANGUAGE": "Kalba",
+		"AWS_TEXT_TYPE": "Teksto tipas",
+		"GOOGLE_CLOUD_TTS_TEXT_TYPE": "Teksto tipas",
+		"PAUSE_ID": "Pauzės tipas",
+		"FINDBY": "Rasti pagal",
+		"LOGIN": "Prisijungti",
+		"PAUSE": "Pauzė",
+		"UNPAUSE": "Baigti pauzę",
+		"LOGOUT": "Atsijungti",
+		"URI": "URI",
+		"SMS_ACCOUNT_ID": "Paskyra",
+		"NAME": "Vardas",
+		"ODBC": "ODBC",
+		"TEST_ODBC": "Testuoti ODBC",
+		"SEARCH_FOR_ANYONE": "Paieška",
+		"BACK": "Atgal",
+		"SELECTED": "Pasirinkta",
+		"SELECT_ALL": "Pasirinkti viską",
+		"SELECT_NONE": "Nieko nepasirinkti",
+		"DSN": "DSN",
+		"DESCRIPTION": "Aprašymas",
+		"ADD_ODBC": "Pridėti ODBC",
+		"ERRORS": {
+			"URL_REQUIRED": "Privalomas laukas",
+			"NAME_REQUIRED": "Privalomas laukas",
+			"DSN_REQUIRED": "Privalomas laukas",
+			"PROJECT_REQUIRED": "Privalomas laukas",
+			"FIELD_REQUIRED": "Privalomas laukas"
+		},
+		"EDIT_ODBC": "Redaguoti ODBC",
+		"DELETE_ODBC": "Ištrinti ODBC",
+		"SAVE": "Saugoti",
+		"PROJECTS": "Projektai",
+		"ADD_PROJECT": "Pridėti projektą",
+		"EDIT_PROJECT": "Redaguoti projektą",
+		"DELETE_PROJECT": "Ištrinti projektą",
+		"CALLYSQUARE": "IVR programų valgymo įrankis",
+		"ID": "Id",
+		"NEW_ODBC": "Naujas ODBC sujungimas",
+		"SQUARERECORDINGS": "Įrašai",
+		"PROJECT": "Projektas",
+		"UNIQUEID": "Unikalus ID",
+		"PHONE": "Telefonas",
+		"EXTEN": "Prailginti",
+		"AUDIO": "Garsas",
+		"CREATED_AT": "Sukurtas",
+		"NOTES": "Pastabos",
+		"NEW_PROJECT": "Naujas projektas",
+		"EDIT": "Redaguoti",
+		"LABEL": "Žymeklis",
+		"ANSWER": "Atsiliepti",
+		"TIMEOUT": "Laikas baigėsi",
+		"SIP_ID": "SIP",
+		"OPTS": "Parinktys",
+		"URL": "URL",
+		"TRUNK_NAME": "Ryšio kanalas",
+		"START": "Pradžia",
+		"FINALLY": "Paskutinis",
+		"END": "Pabaiga",
+		"HANGUP": "Atidėti",
+		"DIAL": "Rinkimas",
+		"EXT_DIAL": "Išorinis rinkiklis",
+		"QUEUE": "Eilė",
+		"QUEUE_ID": "Eilė",
+		"FILE_ID": "Garsas",
+		"AGI": "AGI",
+		"MACRO": "Makro",
+		"GOSUB": "GoSub",
+		"POSITION": "Padėtis",
+		"VOICEMAIL": "Balso paštas",
+		"MAILBOX": "Pašto dėžutė",
+		"OPTIONS": "Parinktys",
+		"SET": "Nustatyti",
+		"VARIABLE_ID": "Kintamasis",
+		"VARIABLE_VALUE": "Reikšmė",
+		"MATH": "Matematika",
+		"OPERATION": "Operation",
+		"PLAYBACK": "Atkūrimas",
+		"RESPONSE": "Atsakymo laikas",
+		"DIGIT": "Daugiausia skaitmenų",
+		"RETRY": "Pakartojimai",
+		"DIGITS": "Skaitmenys",
+		"ESCAPE_DIGITS": "Išvengti skaitmenys",
+		"MENU": "Meniu",
+		"SAYDIGITS": "Pasakyti skaitmenis",
+		"SAYNUMBER": "Pasakyti skaičių",
+		"NUMBER": "Skaičius",
+		"SAYPHONETIC": "Pasakyti fonetiką",
+		"TEXT": "Tekstas",
+		"GOOGLE_TTS_LANGUAGE": "Kalba",
+		"TTS": "Google tekstas-kalba",
+		"ISPEECHTTS": "iSpeech tekstas-kalba",
+		"KEY": "Užrakinti",
+		"ISPEECH_TTS_LANGUAGE": "Kalba",
+		"SPEED": "Greitis",
+		"INTKEY": "Nutraukti užrakinimą",
+		"GETDIGITS": "Gauti skaitmenis",
+		"MINDIGIT": "Mažiausi skaitmenys",
+		"MAXDIGIT": "Didžiausi skaitmenys",
+		"HIDDENDIGITSNUM": "Paslėptų skaitmenų skaičius",
+		"HIDDENDIGITSPOS": "Paslėptų skaitmenų padėtis",
+		"GETSECRETDIGITS": "Gauti slaptus skaitmenis",
+		"RECORD": "Įrašas",
+		"FILE": "Failo pavadinimas",
+		"RECORDINGFORMAT": "Įrašymo formatas",
+		"DATABASE": "Duomenų bazė",
+		"ODBC_ID": "ODBC sujungimas",
+		"QUERY": "Užklausa",
+		"MODEL": "Modelis",
+		"ISPEECH_ASR_LANGUAGE": "Kalba",
+		"BEEP": "Pyptelėjimas",
+		"ISPEECHASR": "iSpeech ASR",
+		"SENDSMS": "Siųsti SMS",
+		"ACCOUNT_ID": "Paskyra",
+		"TO": "Į",
+		"SMS_TEXT": "Tekstas",
+		"SENDMAIL": "Siųsti laišką",
+		"TEMPLATE_ID": "Šablonas",
+		"CC": "CC",
+		"BCC": "BCC",
+		"SUBJECT": "Tema",
+		"GOTOC": "Eiti į",
+		"CONTEXT": "Kontekstas",
+		"EXTENSION": "Pratęsimas",
+		"PRIORITY": "Prioritetas",
+		"GOTOIF": "Eiti į jei",
+		"CONDITION": "Būsena",
+		"GOTOIFTIME": "Eiti į jei laikas",
+		"INTERVAL_ID": "Intervalas",
+		"VSWITCH": "Kintamas perjungimas",
+		"GOAL": "Tikslas",
+		"GOALNAME": "Tikslo pavadinimas",
+		"NOOP": "NoOp",
+		"OUTPUT": "Išėjimas",
+		"SYSTEM": "Sistema",
+		"COMMAND": "Komanda",
+		"ARGS": "Argumentai",
+		"SUBPROJECT": "Sub projektas",
+		"PROJECT_ID": "Projektas",
+		"CUSTOM_APP": "Pritaikyta programa",
+		"APPLICATION": "Programa",
+		"CALLBACK": "Perskambinti",
+		"LASTNAME": "Pavardė",
+		"LIST_ID": "Sąrašas",
+		"DELAY": "Uždelsimas [min]",
+		"OPEN_NEW_WINDOW": "Atidaryti naujame lange",
+		"OPEN_PROJECT": "Atidaryti projektą",
+		"COPY": "Kopijuoti",
+		"OPEN": "Atidaryti",
+		"NEW": "Naujas",
+		"COPY_PROJECT": "Kopijuoti projektą",
+		"NEW_VARIABLE": "Naujas kintamasis",
+		"ADD_VARIABLE": "Pridėti kintamąjį",
+		"UPDATE_DESCRIPTION": "Atnaujinti aprašymą",
+		"EDIT_XML": "Redaguoti XML",
+		"IMPORT_XML": "Importuoti XML",
+		"IMPORT": "Importuoti",
+		"DROP_TO_UPLOAD": "Padėti įkėlimui",
+		"DROP_TO_UPLOAD_MESSAGE": "Taip pat galite padėti failus čia, kad įkeltumėte. Tik XML - maks. 5MB",
+		"CLOSE": "Uždaryti",
+		"NO_AVAILABLE_INFO": "Nėra informacijos",
+		"GO_TO_PROJECTS": "Eiti į projektus",
+		"UPDATE_INFO": "Atnaujinti informaciją",
+		"AGENTS": "Agentai",
+		"TELEPHONES": "Telefonai",
+		"USERS": "Vartotojai",
+		"HELP": {
+			"MAILBOX": "pašto dėžutė@kontekstas",
+			"DSN": "Pavyzdys: DRIVER=MySQL;SERVER=127.0.0.1;UID=xcall;PWD=password;DATABASE=motion",
+			"TO": "Galite pridėti kelis adresus, atskirtus kableliais (e.g. [email-masked], [email-masked])",
+			"CC": "Galite pridėti kelis adresus, atskirtus kableliais (e.g. [email-masked], [email-masked])",
+			"BCC": "Galite pridėti kelis adresus, atskirtus kableliais (e.g. [email-masked], [email-masked])"
+		},
+		"CHOOSE_ATTACHMENT": "Pasirinkite priedą",
+		"ATTACHMENT_NAME": "Priedo pavadinimas",
+		"ATTACHMENT_TYPE": "Priedo tipas",
+		"ATTACHMENT_PATH": "Priedo maršrutas",
+		"SENDFAX": "Siųsti faksą",
+		"DELETE_SQUARERECORDING": "Ištrinti įrašymo laukelį",
+		"DOWNLOAD_SQUARERECORDING": "Atsisiųsti įrašymo laukelį",
+		"FILENAME": "Failo pavadinimas",
+		"EDIT_SQUARERECORDING": "Redaguoti įrašymo laukelį",
+		"DELETE": "Ištrinti",
+		"PAGE": "Puslapis",
+		"ROWSPERPAGE": "Eilutės puslapyje",
+		"OF": "iš",
+		"CALLBACK_PRIORITY": "Prioritetas",
+		"GOOGLE_ASR_LANGUAGE": "Kalba",
+		"GOOGLEASR": "GoogleASR",
+		"AWSPOLLY": "AWS apklausa",
+		"AWS_ACCESS_KEY_ID": "Prieigos rakto ID",
+		"AWS_SECRET_ACCESS_KEY": "Slaptas prieigos raktas",
+		"AWS_POLLY_REGION": "Regionas",
+		"AWS_POLLY_VOICE": "Balsas",
+		"LUMENVOXTTS": "Lumenvox tekstas-kalba",
+		"LUMENVOXASR": "Lumenvox ASR",
+		"GRAMMAR": "Gramatika",
+		"TILDEASR": "Tilde ASR",
+		"APPID": "Programos ID",
+		"APPSECRET": "Programos slėpinys",
+		"RESTAPI": "Palikti API",
+		"METHOD": "Metodas",
+		"HEADERS": "Antraštės",
+		"BODY": "Turinys",
+		"RAWHEADERS": "Antraštės",
+		"RAWBODY": "Turinys",
+		"COMPUTEDVARIABLES": "Apdorotų kintamųjų teksto maršrutas",
+		"GOOGLE_CLOUD_TTS": "Google Cloud TTS",
+		"APIKEY": "ApiKey",
+		"LANGUAGECODE": "Kalbos kodas",
+		"SSMLGENDER": "Lytis",
+		"AUDIOENCODING": "Garso kodavimas"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/chat/i18n/cs.json b/public/app/main/apps/chat/i18n/cs.json
new file mode 100644
index 0000000..c052fae
--- /dev/null
+++ b/public/app/main/apps/chat/i18n/cs.json
@@ -0,0 +1,455 @@
+{
+	"CHAT": {
+		"EDIT_AMAZONLEX": "Edit Amazon Lex",
+		"AMAZONLEX": "Amazon Lex",
+		"ACCESSKEYID": "Access Key ID",
+		"SECRETACCESSKEY": "Secret Access Key",
+		"LEXREGION": "Region",
+		"BOTNAME": "Bot Name",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"ENABLECUSTOMERCHECKMARKS": "Enable customer delivered/read notifications",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"SYSTEMAVATAR": "System Avatar",
+		"SYSTEMALIAS": "System Alias",
+		"WELCOMEMESSAGE": "Welcome Message",
+		"LANGUAGE": "Language",
+		"EDIT_DIALOGFLOW": "Edit Dialogflow",
+		"DIALOGFLOW": "Dialogflow",
+		"BACKGROUNDCOLOR": "Background Color",
+		"MESSAGEFONTSIZE": "Message Font Size",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"CUSTOMERALIAS": "Customer Alias",
+		"SNIPPETSWIPEOUT": "Snippet swipe out",
+		"CUSTOMERAVATAR": "Customer Avatar",
+		"SHOWCUSTOMERAVATAR": "Show customer avatar",
+		"DEFAULTTITLE": "Default Title",
+		"MESSAGESALIGNMENT": "Messages Alignment",
+		"ALTERNATE": "Alternate",
+		"CENTERED": "Centered",
+		"POSITION": "Position",
+		"VERTICALPOSITION": "Vertical position",
+		"ALIGNMENT": "Alignment",
+		"VERTICALALIGNMENT": "Vertical alignment",
+		"BOTTOM_RIGHT": "Bottom right",
+		"RIGHT": "Right",
+		"LEFT": "Left",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"AGENTIDENTIFIER": "Identifier",
+		"WEBSITEALIAS": "Website Alias",
+		"AGENTALIAS": "Agent Alias",
+		"AGENTFULLNAME": "Agent Fullname",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"HIDEWHENOFFLINE": "Hide",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"TEXTCOLOR": "Text Color",
+		"FONTSIZE": "Font Size",
+		"WEBSCRIPT": "Web Script",
+		"CANNEDANSWERS": "Canned Answers",
+		"CHATCANNEDANSWERS": "Canned Answers",
+		"NO_CHATCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_CHATCANNEDANSWER": "New Canned Answer",
+		"ADD_CHATCANNEDANSWER": "Add Canned Answer",
+		"EDIT_CHATCANNEDANSWER": "Edit",
+		"DELETE_CHATCANNEDANSWER": "Delete",
+		"OFFLINEMESSAGESUBJECT": "Message subject",
+		"OFFLINEMESSAGEBODY": "Message body",
+		"FORMSUBMITSUCCESSMESSAGE": "Form submit success message",
+		"FORMSUBMITFAILUREMESSAGE": "Form submit failure message",
+		"PLACEHOLDERMESSAGE": "Message placeholder",
+		"NOTETITLE": "Note's title",
+		"CLOSINGQUESTION": "Closing question",
+		"TAGS": "Tags",
+		"SHOWAGENTAVATAR": "Show personal agent avatar",
+		"AGENTAVATAR": "Agent Avatar",
+		"SPYINTERACTION": "Spy",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_CHATQUEUE": "Go To Realtime Chat Queue",
+		"PARTIALPAUSE": "Partial Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"AGENTSADD_QUEUE": "Add Agent to Chat Queue",
+		"QUEUES": "Queues",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"WRITING": "Writing",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Openchannel",
+		"FAX": "Fax",
+		"PAUSE": "Pause",
+		"REALTIME": "Realtime",
+		"AGENTS": "Agents",
+		"FULLNAME": "Full Name",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"LOGOUT": "Logout",
+		"UNPAUSE": "End Pause",
+		"AGENTADD_QUEUE": "Add Agent to Chat Queue",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"NEW_CHATDISPOSITION": "New Chat Disposition",
+		"ENABLECUSTOMERATTACHMENT": "Enable Customer Attachments",
+		"OFFLINE_CHAT_BUTTON": "'Offline Chat' Button",
+		"OFFLINESTATUS": "Offline Status",
+		"NAME": "Name",
+		"CHATQUEUES": "Chat Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"KEY": "Key",
+		"ALIAS": "Alias",
+		"VARIABLE": "Variable",
+		"INTERVAL": "Interval",
+		"EDIT_CLOSE": "Edit Close",
+		"TIMEZONE": "Timezone",
+		"MESSAGE": "Message",
+		"ADVANCED": "Advanced",
+		"FORWARDTRANSCRIPT": "Forward Transcript",
+		"FORWARDTRANSCRIPTMESSAGE": "Forward Transcript Message",
+		"SKIPMESSAGEBUTTON": "Skip Message Button",
+		"EDIT_MESSAGE": "Edit Message",
+		"CONDITION_AGREEMENT": "Condition Agreement",
+		"NONE": "None",
+		"PRIORITY": "Priority",
+		"ONLINESTATUS": "Online Status",
+		"UNMANAGEDSTATUS": "Unmanaged Status",
+		"AUTOCLOSE": "Enable Autoclose",
+		"ENABLEUNMANAGEDNOTE": "Enable Unmanaged Message",
+		"UNMANAGEDMESSAGE": "Message",
+		"SKIPUNMANAGED": "Skip Message",
+		"SENDUNMANAGED": "Send Message",
+		"WEBSITESCRIPT": "Website Script",
+		"DELETE_OFFLINEMESSAGE": "Delete",
+		"OFFLINEMESSAGES": "Offline Messages",
+		"FORWARD_OFFLINE": "Forward Offline",
+		"SHOW_OFFLINEMESSAGE": "Show",
+		"FORWARD_OFFLINE_ADDRESS": "Forward Offline Address",
+		"CLOSINGFORM": "Closing Form",
+		"ENABLERATING": "Enable Rating",
+		"ENABLECUSTOMERWRITING": "Allow customer writing before agent accepting",
+		"ENABLEFEEDBACK": "Enable Feedback",
+		"RATINGTYPE": "Rating Type",
+		"CLOSINGMESSAGE": "Closing Message",
+		"CLOSINGMESSAGEBUTTON": "Closing Message Button",
+		"RATINGSTARSNUMBER": "Rating Stars Number",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"ERRORS": {
+			"BOTNAME_REQUIRED": "Mandatory Field",
+			"SECRETACCESSKEY_REQUIRED": "Mandatory Field",
+			"ACCESSKEYID_REQUIRED": "Mandatory Field",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"CUSTOMERALIAS_REQUIRED": "Mandatory Field",
+			"AGENTALIAS_REQUIRED": "Mandatory Field",
+			"SYSTEMALIAS_REQUIRED": "Mandatory Field",
+			"MESSAGEFONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MESSAGEFONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MESSAGEFONTSIZE_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"VERTICALPOSITION_REQUIRED": "Mandatory Field",
+			"VERTICALPOSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"VERTICALPOSITION_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONTSIZE_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"CUSTOMERALIAS_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"SYSTEMALIAS_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"OFFLINEMESSAGESUBJECT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"OFFLINEMESSAGEBODY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"PLACEHOLDERMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"NOTETITLE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"FORMSUBMITSUCCESSMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"FORMSUBMITFAILUREMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"CLOSINGQUESTION_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"HEADER_OFFLINE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"OFFLINE_CHAT_BUTTON_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"SENDUNMANAGED_REQUIRED": "Mandatory Field",
+			"SENDUNMANAGED_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"SKIPUNMANAGED_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"UNMANAGEDMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"WEBSITEALIAS_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"EMAIL_MUST_BE_VALID": "Wrong format",
+			"ADDRESS_REQUIRED": "Mandatory Field",
+			"ADDRESS_MUST_VALID_URL": "Wrong format",
+			"ENQUIRY_FORWARDING_ADDRESS_REQUIRED": "Mandatory Field",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"POLLING_INTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"WAITINGMESSAGE_REQUIRED": "Mandatory Field",
+			"WAITINGTITLE_REQUIRED": "Mandatory Field",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"WAITINGMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"WAITINGTITLE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"RATINGSTARSNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
+			"VIDAOOAPIKEY_REQUIRED": "Povinné pole"
+		},
+		"CM_FIELD": "Contact Manager Field",
+		"CHATPROACTIVEACTIONS": "Proactive Actions",
+		"NEW_CHATPROACTIVEACTION": "New Proactive Action",
+		"EDIT_CHATPROACTIVEACTION": "Edit Proactive Action",
+		"DELETE_CHATPROACTIVEACTION": "Delete Proactive Action",
+		"ADD_CHATPROACTIVEACTION": "Add Proactive Action",
+		"NO_CHATPROACTIVEACTION_AVAILABLE": "No Proactive Actions Available",
+		"NO_OFFLINEMESSAGE_AVAILABLE": "No Offline Messages Available",
+		"MOUSEOVER": "Mouse Over",
+		"TIMEOUT": "Timeout",
+		"TYPE": "Type",
+		"SELECTOR": "Selector",
+		"AGENT": "Agent",
+		"GOTO": "Goto",
+		"GOTOIF": "GotoIf",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"BUILDER": "Builder",
+		"PREVIEW": "Preview",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_GOTOIf": "Edit GotoIf",
+		"EDIT_NOOP": "Edit Noop",
+		"ADD_CHATQUEUE": "Add Chat Queue",
+		"EDIT_CHATQUEUE": "Edit Chat Queue",
+		"DELETE_CHATQUEUE": "Delete Chat Queue",
+		"SETTINGS": "Settings",
+		"SAVE": "Save",
+		"SCRIPT": "Script",
+		"TOKEN": "Token",
+		"CREATED_AT": "Created At",
+		"CHATWEBSITES": "Chat Websites",
+		"MOTIONADDRESS": "Website Domain",
+		"MOTIONPROXY": "Proxy Or Motion Domain",
+		"ADD_CHATWEBSITE": "Add Chat Website",
+		"EDIT_CHATWEBSITE": "Edit Chat Website",
+		"DELETE_CHATWEBSITE": "Delete Chat Website",
+		"LIST": "List",
+		"SNIPPET": "Snippet",
+		"FORMS": "Forms",
+		"UP": "Up",
+		"DOWN": "Down",
+		"COLLAPSE": "Collapse",
+		"PROACTIVEACTIONS": "Proactive Actions",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"FIDELITY": "Fidelity",
+		"APPEARANCE": "Appearance",
+		"MAINCOLOR": "Main Color",
+		"FOCUSCOLOR": "Focus Color",
+		"BUTTONCOLOR": "Button Color",
+		"HEADERSHAPE": "Header Shape",
+		"ANIMATION": "Animation",
+		"DEFAULT": "Default",
+		"WHITELABEL": "White Label",
+		"LOGO": "Logo",
+		"DOWNLOADTRANSCRIPT": "Download Transcript",
+		"ENQUIRY_ENABLE": "Enquiry Enable",
+		"ENQUIRY_FORWARDING": "Enquiry Forwarding",
+		"ENQUIRY_FORWARDING_ADDRESS": "Enquiry Forwarding Address",
+		"LABELS": "Labels",
+		"HEADER_ONLINE": "Online Header",
+		"ONLINE_MESSAGE": "Online Message",
+		"NAME_TITLE": "Name Input Label",
+		"USERNAME_PLACEHOLDER": "Username Input Placeholder",
+		"EMAIL_TITLE": "Email Input Label",
+		"EMAIL_PLACEHOLDER": "Email Input Placeholder",
+		"START_CHAT_BUTTON": "'Start Chat' Button",
+		"AGENTS_BUSY": "Busy Agents Message",
+		"HEADER_OFFLINE": "Offline Header",
+		"OFFLINE_MESSAGE": "Offline Message",
+		"MESSAGE_TITLE": "Message Label",
+		"ENQUIRY_MESSAGE_PLACEHOLDER": "Enquiry Message Input Placeholder",
+		"ENQUIRY_BUTTON": "Enquiry Button Text",
+		"RATING_MESSAGE": "Rating Message",
+		"RATING_SEND": "Rating Send Button Text",
+		"RATING_SKIP": "Rating Skip Button Text",
+		"ONLINE": "Online",
+		"OFFLINE": "Offline",
+		"PROACTIVE": "Proactive",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"EMBEDDING": "Embedding",
+		"GENERAL": "General",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"HELP": {
+			"VERTICALPOSITION": "Represents the distance in percentage from top",
+			"AGENTIDENTIFIER": "Represents the agent identifier within the chat session in the snippet",
+			"HIDEWHENOFFLINE": "Hides snippet when offline",
+			"KEY": "Website short name (5 char) shown on the Agent Tab",
+			"TOKEN": "Automatically generated token used in the Script",
+			"INTEVAL": "To be selected from the list of the available intervals",
+			"TIMEZONE": "Select one from the list (default=local timezone)",
+			"ENABLERATING": "Enable it if you want the web visitor can rate the interaction at the end",
+			"ENABLEFEEDBACK": "Enable it if you want the web visitor can send a feedback (up to 150 char) at the end",
+			"FORWARDTRANSCRIPT": "Enable it if you want the web visitor is asked to receive a chat transcript via email",
+			"AUTOCLOSE": "Enable it if you want chat sessions to be closed as Unmanaged if no agent is available. Learn more about it at: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet",
+			"ENABLEUNMANAGEDNOTE": "Enable it if you want the visitor is shown a message when all the agents are busy and the chat gets unmanaged",
+			"WEBSITEALIAS": "A prefix used to compose the agent name (prefix+Agent Id) shown to the web visitor during the chat session",
+			"ENABLECUSTOMERWRITING": " Enable it if you want the chat starts without waiting for an available agent (pay attention: if you enable it, your chats will never get unmanaged). Learn more at: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet",
+			"MAPKEY": "The following Motion Contact Manager field:",
+			"FROMKEY": "Will be mapped in your Motion Chat Snippet as:",
+			"COPYSCRIPTTOCLIPBOARD": "Copy and paste the script text into your website",
+			"FORWARD_OFFLINE": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"MOTIONADDRESS": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager list used to associate Contacts",
+			"INTERVAL": "Select one from the list",
+			"WELCOMEMESSAGE": "Leave empty if you don't want to send any welcome message",
+			"MANDATORYDISPOSITION": "Povinná dispozice",
+			"MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej"
+		},
+		"ADDRESS": "Address",
+		"ONLINESTATE": "Online Status",
+		"OFFLINESTATE": "Offline Status",
+		"RATINGSTATE": "Rating State",
+		"ENQUIRY": "Enquiry",
+		"OFFLINETEMPLATE": "Offline Template",
+		"CHATDISPOSITIONS": "Chat Dispositions",
+		"NO_CHATDISPOSITION_AVAILABLE": "No Chat Dispositions available",
+		"ADD_CHATDISPOSITION": "Add Chat Disposition",
+		"DELETE": "Delete",
+		"EDIT_CHATDISPOSITION": "Edit Chat Disposition",
+		"DELETE_CHATDISPOSITION": "Delete Chat Disposition",
+		"ID": "Id",
+		"NEW_CHATQUEUE": "New Chat Queue",
+		"NEW_CHATWEBSITE": "New Chat Website",
+		"ROUNDED": "Rounded",
+		"SQUARED": "Squared",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"CLOSED": "Closed",
+		"OPENED": "Open",
+		"OPEN": "Open",
+		"ACCOUNT": "Account",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"WEBSITE": "Website",
+		"ALL": "All",
+		"SELECT_STATUS": "Select a status",
+		"FILTER": "Filter",
+		"FILTERS": "Filters",
+		"TEAMADD_CHATQUEUE": "Add Team to Chat Queue",
+		"AGENTADD_CHATQUEUE": "Add Agent to Chat Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"CREATEDAT": "Created At",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"SELECTED_WEBSITE": "Select a website",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"SELECT_WEBSITE": "Select a website",
+		"INFO": "Info",
+		"OFFLINEMESSAGES_CHATWEBSITE": "Go to Offline Messages",
+		"WAITINGTITLE": "Waiting Title",
+		"WAITINGMESSAGE": "Waiting Message",
+		"RATING": "Rating",
+		"NO_RATINGVALUE": "No Rating",
+		"DEFAULT_PAUSE": "Default pause",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"VOICE": "Voice",
+		"INTERACTIONS_CHATWEBSITE": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_CHATWEBSITE": "Add Agent to Chat Website",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Stahujte bez příloh",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Stáhnout s přílohami",
+		"ENABLESENDBUTTON": "Povolit tlačítko Odeslat",
+		"FEEDBACKTITLE": "Název zpětné vazby",
+		"LASTMESSAGE": "Poslední zpráva",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+		"TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
+		"VIDAOO": "Vidaoo",
+		"VIDAOOAPIKEY": "Vidaoo Api Key",
+		"VIDAOOESCALATION": "Zahajte videohovor",
+		"VIDAOOSESSION": "Zahajte videohovor",
+		"VIDEO": "Video"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/chat/i18n/et.json b/public/app/main/apps/chat/i18n/et.json
new file mode 100644
index 0000000..fc17c05
--- /dev/null
+++ b/public/app/main/apps/chat/i18n/et.json
@@ -0,0 +1,455 @@
+{
+	"CHAT": {
+		"EDIT_AMAZONLEX": "Edit Amazon Lex",
+		"AMAZONLEX": "Amazon Lex",
+		"ACCESSKEYID": "Access Key ID",
+		"SECRETACCESSKEY": "Secret Access Key",
+		"LEXREGION": "Region",
+		"BOTNAME": "Bot Name",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"ENABLECUSTOMERCHECKMARKS": "Enable customer delivered/read notifications",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"SYSTEMAVATAR": "System Avatar",
+		"SYSTEMALIAS": "System Alias",
+		"WELCOMEMESSAGE": "Welcome Message",
+		"LANGUAGE": "Language",
+		"EDIT_DIALOGFLOW": "Edit Dialogflow",
+		"DIALOGFLOW": "Dialogflow",
+		"BACKGROUNDCOLOR": "Background Color",
+		"MESSAGEFONTSIZE": "Message Font Size",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"CUSTOMERALIAS": "Customer Alias",
+		"SNIPPETSWIPEOUT": "Snippet swipe out",
+		"CUSTOMERAVATAR": "Customer Avatar",
+		"SHOWCUSTOMERAVATAR": "Show customer avatar",
+		"DEFAULTTITLE": "Default Title",
+		"MESSAGESALIGNMENT": "Messages Alignment",
+		"ALTERNATE": "Alternate",
+		"CENTERED": "Centered",
+		"POSITION": "Position",
+		"VERTICALPOSITION": "Vertical position",
+		"ALIGNMENT": "Alignment",
+		"VERTICALALIGNMENT": "Vertical alignment",
+		"BOTTOM_RIGHT": "Bottom right",
+		"RIGHT": "Right",
+		"LEFT": "Left",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"AGENTIDENTIFIER": "Identifier",
+		"WEBSITEALIAS": "Website Alias",
+		"AGENTALIAS": "Agent Alias",
+		"AGENTFULLNAME": "Agent Fullname",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"HIDEWHENOFFLINE": "Hide",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"TEXTCOLOR": "Text Color",
+		"FONTSIZE": "Font Size",
+		"WEBSCRIPT": "Web Script",
+		"CANNEDANSWERS": "Canned Answers",
+		"CHATCANNEDANSWERS": "Canned Answers",
+		"NO_CHATCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_CHATCANNEDANSWER": "New Canned Answer",
+		"ADD_CHATCANNEDANSWER": "Add Canned Answer",
+		"EDIT_CHATCANNEDANSWER": "Edit",
+		"DELETE_CHATCANNEDANSWER": "Delete",
+		"OFFLINEMESSAGESUBJECT": "Message subject",
+		"OFFLINEMESSAGEBODY": "Message body",
+		"FORMSUBMITSUCCESSMESSAGE": "Form submit success message",
+		"FORMSUBMITFAILUREMESSAGE": "Form submit failure message",
+		"PLACEHOLDERMESSAGE": "Message placeholder",
+		"NOTETITLE": "Note's title",
+		"CLOSINGQUESTION": "Closing question",
+		"TAGS": "Tags",
+		"SHOWAGENTAVATAR": "Show personal agent avatar",
+		"AGENTAVATAR": "Agent Avatar",
+		"SPYINTERACTION": "Spy",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_CHATQUEUE": "Go To Realtime Chat Queue",
+		"PARTIALPAUSE": "Partial Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"AGENTSADD_QUEUE": "Add Agent to Chat Queue",
+		"QUEUES": "Queues",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"WRITING": "Writing",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Openchannel",
+		"FAX": "Fax",
+		"PAUSE": "Pause",
+		"REALTIME": "Realtime",
+		"AGENTS": "Agents",
+		"FULLNAME": "Full Name",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"LOGOUT": "Logout",
+		"UNPAUSE": "End Pause",
+		"AGENTADD_QUEUE": "Add Agent to Chat Queue",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"NEW_CHATDISPOSITION": "New Chat Disposition",
+		"ENABLECUSTOMERATTACHMENT": "Enable Customer Attachments",
+		"OFFLINE_CHAT_BUTTON": "'Offline Chat' Button",
+		"OFFLINESTATUS": "Offline Status",
+		"NAME": "Name",
+		"CHATQUEUES": "Chat Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"KEY": "Key",
+		"ALIAS": "Alias",
+		"VARIABLE": "Variable",
+		"INTERVAL": "Interval",
+		"EDIT_CLOSE": "Edit Close",
+		"TIMEZONE": "Timezone",
+		"MESSAGE": "Message",
+		"ADVANCED": "Advanced",
+		"FORWARDTRANSCRIPT": "Forward Transcript",
+		"FORWARDTRANSCRIPTMESSAGE": "Forward Transcript Message",
+		"SKIPMESSAGEBUTTON": "Skip Message Button",
+		"EDIT_MESSAGE": "Edit Message",
+		"CONDITION_AGREEMENT": "Condition Agreement",
+		"NONE": "None",
+		"PRIORITY": "Priority",
+		"ONLINESTATUS": "Online Status",
+		"UNMANAGEDSTATUS": "Unmanaged Status",
+		"AUTOCLOSE": "Enable Autoclose",
+		"ENABLEUNMANAGEDNOTE": "Enable Unmanaged Message",
+		"UNMANAGEDMESSAGE": "Message",
+		"SKIPUNMANAGED": "Skip Message",
+		"SENDUNMANAGED": "Send Message",
+		"WEBSITESCRIPT": "Website Script",
+		"DELETE_OFFLINEMESSAGE": "Delete",
+		"OFFLINEMESSAGES": "Offline Messages",
+		"FORWARD_OFFLINE": "Forward Offline",
+		"SHOW_OFFLINEMESSAGE": "Show",
+		"FORWARD_OFFLINE_ADDRESS": "Forward Offline Address",
+		"CLOSINGFORM": "Closing Form",
+		"ENABLERATING": "Enable Rating",
+		"ENABLECUSTOMERWRITING": "Allow customer writing before agent accepting",
+		"ENABLEFEEDBACK": "Enable Feedback",
+		"RATINGTYPE": "Rating Type",
+		"CLOSINGMESSAGE": "Closing Message",
+		"CLOSINGMESSAGEBUTTON": "Closing Message Button",
+		"RATINGSTARSNUMBER": "Rating Stars Number",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"ERRORS": {
+			"BOTNAME_REQUIRED": "Mandatory Field",
+			"SECRETACCESSKEY_REQUIRED": "Mandatory Field",
+			"ACCESSKEYID_REQUIRED": "Mandatory Field",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"CUSTOMERALIAS_REQUIRED": "Mandatory Field",
+			"AGENTALIAS_REQUIRED": "Mandatory Field",
+			"SYSTEMALIAS_REQUIRED": "Mandatory Field",
+			"MESSAGEFONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MESSAGEFONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MESSAGEFONTSIZE_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"VERTICALPOSITION_REQUIRED": "Mandatory Field",
+			"VERTICALPOSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"VERTICALPOSITION_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONTSIZE_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"CUSTOMERALIAS_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"SYSTEMALIAS_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"OFFLINEMESSAGESUBJECT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"OFFLINEMESSAGEBODY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"PLACEHOLDERMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"NOTETITLE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"FORMSUBMITSUCCESSMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"FORMSUBMITFAILUREMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"CLOSINGQUESTION_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"HEADER_OFFLINE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"OFFLINE_CHAT_BUTTON_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"SENDUNMANAGED_REQUIRED": "Mandatory Field",
+			"SENDUNMANAGED_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"SKIPUNMANAGED_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"UNMANAGEDMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"WEBSITEALIAS_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"EMAIL_MUST_BE_VALID": "Wrong format",
+			"ADDRESS_REQUIRED": "Mandatory Field",
+			"ADDRESS_MUST_VALID_URL": "Wrong format",
+			"ENQUIRY_FORWARDING_ADDRESS_REQUIRED": "Mandatory Field",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"POLLING_INTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " The value must be greater than or equal to",
+			"WAITINGMESSAGE_REQUIRED": "Mandatory Field",
+			"WAITINGTITLE_REQUIRED": "Mandatory Field",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"WAITINGMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"WAITINGTITLE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"RATINGSTARSNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
+			"VIDAOOAPIKEY_REQUIRED": "Kohustuslik väli"
+		},
+		"CM_FIELD": "Contact Manager Field",
+		"CHATPROACTIVEACTIONS": "Proactive Actions",
+		"NEW_CHATPROACTIVEACTION": "New Proactive Action",
+		"EDIT_CHATPROACTIVEACTION": "Edit Proactive Action",
+		"DELETE_CHATPROACTIVEACTION": "Delete Proactive Action",
+		"ADD_CHATPROACTIVEACTION": "Add Proactive Action",
+		"NO_CHATPROACTIVEACTION_AVAILABLE": "No Proactive Actions Available",
+		"NO_OFFLINEMESSAGE_AVAILABLE": "No Offline Messages Available",
+		"MOUSEOVER": "Mouse Over",
+		"TIMEOUT": "Timeout",
+		"TYPE": "Type",
+		"SELECTOR": "Selector",
+		"AGENT": "Agent",
+		"GOTO": "Goto",
+		"GOTOIF": "GotoIf",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"BUILDER": "Builder",
+		"PREVIEW": "Preview",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_GOTOIf": "Edit GotoIf",
+		"EDIT_NOOP": "Edit Noop",
+		"ADD_CHATQUEUE": "Add Chat Queue",
+		"EDIT_CHATQUEUE": "Edit Chat Queue",
+		"DELETE_CHATQUEUE": "Delete Chat Queue",
+		"SETTINGS": "Settings",
+		"SAVE": "Save",
+		"SCRIPT": "Script",
+		"TOKEN": "Token",
+		"CREATED_AT": "Created At",
+		"CHATWEBSITES": "Chat Websites",
+		"MOTIONADDRESS": "Website Domain",
+		"MOTIONPROXY": "Proxy Or Motion Domain",
+		"ADD_CHATWEBSITE": "Add Chat Website",
+		"EDIT_CHATWEBSITE": "Edit Chat Website",
+		"DELETE_CHATWEBSITE": "Delete Chat Website",
+		"LIST": "List",
+		"SNIPPET": "Snippet",
+		"FORMS": "Forms",
+		"UP": "Up",
+		"DOWN": "Down",
+		"COLLAPSE": "Collapse",
+		"PROACTIVEACTIONS": "Proactive Actions",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"FIDELITY": "Fidelity",
+		"APPEARANCE": "Appearance",
+		"MAINCOLOR": "Main Color",
+		"FOCUSCOLOR": "Focus Color",
+		"BUTTONCOLOR": "Button Color",
+		"HEADERSHAPE": "Header Shape",
+		"ANIMATION": "Animation",
+		"DEFAULT": "Default",
+		"WHITELABEL": "White Label",
+		"LOGO": "Logo",
+		"DOWNLOADTRANSCRIPT": "Download Transcript",
+		"ENQUIRY_ENABLE": "Enquiry Enable",
+		"ENQUIRY_FORWARDING": "Enquiry Forwarding",
+		"ENQUIRY_FORWARDING_ADDRESS": "Enquiry Forwarding Address",
+		"LABELS": "Labels",
+		"HEADER_ONLINE": "Online Header",
+		"ONLINE_MESSAGE": "Online Message",
+		"NAME_TITLE": "Name Input Label",
+		"USERNAME_PLACEHOLDER": "Username Input Placeholder",
+		"EMAIL_TITLE": "Email Input Label",
+		"EMAIL_PLACEHOLDER": "Email Input Placeholder",
+		"START_CHAT_BUTTON": "'Start Chat' Button",
+		"AGENTS_BUSY": "Busy Agents Message",
+		"HEADER_OFFLINE": "Offline Header",
+		"OFFLINE_MESSAGE": "Offline Message",
+		"MESSAGE_TITLE": "Message Label",
+		"ENQUIRY_MESSAGE_PLACEHOLDER": "Enquiry Message Input Placeholder",
+		"ENQUIRY_BUTTON": "Enquiry Button Text",
+		"RATING_MESSAGE": "Rating Message",
+		"RATING_SEND": "Rating Send Button Text",
+		"RATING_SKIP": "Rating Skip Button Text",
+		"ONLINE": "Online",
+		"OFFLINE": "Offline",
+		"PROACTIVE": "Proactive",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"EMBEDDING": "Embedding",
+		"GENERAL": "General",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"HELP": {
+			"VERTICALPOSITION": "Represents the distance in percentage from top",
+			"AGENTIDENTIFIER": "Represents the agent identifier within the chat session in the snippet",
+			"HIDEWHENOFFLINE": "Hides snippet when offline",
+			"KEY": "Website short name (5 char) shown on the Agent Tab",
+			"TOKEN": "Automatically generated token used in the Script",
+			"INTEVAL": "To be selected from the list of the available intervals",
+			"TIMEZONE": "Select one from the list (default=local timezone)",
+			"ENABLERATING": "Enable it if you want the web visitor can rate the interaction at the end",
+			"ENABLEFEEDBACK": "Enable it if you want the web visitor can send a feedback (up to 150 char) at the end",
+			"FORWARDTRANSCRIPT": "Enable it if you want the web visitor is asked to receive a chat transcript via email",
+			"AUTOCLOSE": "Enable it if you want chat sessions to be closed as Unmanaged if no agent is available. Learn more about it at: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet",
+			"ENABLEUNMANAGEDNOTE": "Enable it if you want the visitor is shown a message when all the agents are busy and the chat gets unmanaged",
+			"WEBSITEALIAS": "A prefix used to compose the agent name (prefix+Agent Id) shown to the web visitor during the chat session",
+			"ENABLECUSTOMERWRITING": " Enable it if you want the chat starts without waiting for an available agent (pay attention: if you enable it, your chats will never get unmanaged). Learn more at: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet",
+			"MAPKEY": "The following Motion Contact Manager field:",
+			"FROMKEY": "Will be mapped in your Motion Chat Snippet as:",
+			"COPYSCRIPTTOCLIPBOARD": "Copy and paste the script text into your website",
+			"FORWARD_OFFLINE": "You can add multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"MOTIONADDRESS": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager list used to associate Contacts",
+			"INTERVAL": "Select one from the list",
+			"WELCOMEMESSAGE": "Leave empty if you don't want to send any welcome message",
+			"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+			"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud"
+		},
+		"ADDRESS": "Address",
+		"ONLINESTATE": "Online Status",
+		"OFFLINESTATE": "Offline Status",
+		"RATINGSTATE": "Rating State",
+		"ENQUIRY": "Enquiry",
+		"OFFLINETEMPLATE": "Offline Template",
+		"CHATDISPOSITIONS": "Chat Dispositions",
+		"NO_CHATDISPOSITION_AVAILABLE": "No Chat Dispositions available",
+		"ADD_CHATDISPOSITION": "Add Chat Disposition",
+		"DELETE": "Delete",
+		"EDIT_CHATDISPOSITION": "Edit Chat Disposition",
+		"DELETE_CHATDISPOSITION": "Delete Chat Disposition",
+		"ID": "Id",
+		"NEW_CHATQUEUE": "New Chat Queue",
+		"NEW_CHATWEBSITE": "New Chat Website",
+		"ROUNDED": "Rounded",
+		"SQUARED": "Squared",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"CLOSED": "Closed",
+		"OPENED": "Open",
+		"OPEN": "Open",
+		"ACCOUNT": "Account",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"WEBSITE": "Website",
+		"ALL": "All",
+		"SELECT_STATUS": "Select a status",
+		"FILTER": "Filter",
+		"FILTERS": "Filters",
+		"TEAMADD_CHATQUEUE": "Add Team to Chat Queue",
+		"AGENTADD_CHATQUEUE": "Add Agent to Chat Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"CREATEDAT": "Created At",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"SELECTED_WEBSITE": "Select a website",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"SELECT_WEBSITE": "Select a website",
+		"INFO": "Info",
+		"OFFLINEMESSAGES_CHATWEBSITE": "Go to Offline Messages",
+		"WAITINGTITLE": "Waiting Title",
+		"WAITINGMESSAGE": "Waiting Message",
+		"RATING": "Rating",
+		"NO_RATINGVALUE": "No Rating",
+		"DEFAULT_PAUSE": "Default pause",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"VOICE": "Voice",
+		"INTERACTIONS_CHATWEBSITE": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_CHATWEBSITE": "Add Agent to Chat Website",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Laadige alla ilma manusteta",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Laadige alla koos manustega",
+		"ENABLESENDBUTTON": "Luba nupp Saada",
+		"FEEDBACKTITLE": "Tagasiside pealkiri",
+		"LASTMESSAGE": "Viimane teade",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
+		"VIDAOO": "Vidaoo",
+		"VIDAOOAPIKEY": "Vidaoo Api võti",
+		"VIDAOOESCALATION": "Alusta videokõnet",
+		"VIDAOOSESSION": "Alusta videokõnet",
+		"VIDEO": "Video",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/chat/i18n/lt.json b/public/app/main/apps/chat/i18n/lt.json
new file mode 100644
index 0000000..12cc1d2
--- /dev/null
+++ b/public/app/main/apps/chat/i18n/lt.json
@@ -0,0 +1,455 @@
+{
+	"CHAT": {
+		"EDIT_AMAZONLEX": "Redaguoti Amazon Lex",
+		"AMAZONLEX": "Amazon Lex",
+		"ACCESSKEYID": "Prieigos rakto ID",
+		"SECRETACCESSKEY": "Slaptas prieigos raktas",
+		"LEXREGION": "Regionas",
+		"BOTNAME": "Bot pavadinimas",
+		"LOGIN_TIME": "Prisijungimo laikas",
+		"PAUSE_TIME": "Pauzės laikas",
+		"DOWNLOAD_INTERACTION": "Parsisiųsti",
+		"ENABLECUSTOMERCHECKMARKS": "Leisti kliento pristatytus/perskaitytus pranešimus",
+		"TRANSFER": "Perkėlimas",
+		"QUEUETRANSFER": "Eilės perkėlimas",
+		"QUEUETRANSFERTIMEOUT": "Eilės perkėlimo laikas",
+		"AGENTTRANSFER": "Agento perkėlimas",
+		"AGENTTRANSFERTIMEOUT": "Agento perkėlimo laikas",
+		"SYSTEMAVATAR": "Sistemos avataras",
+		"SYSTEMALIAS": "Sistemos slapyvardis",
+		"WELCOMEMESSAGE": "Pasisveikinimo žinutė",
+		"LANGUAGE": "Kalba",
+		"EDIT_DIALOGFLOW": "Redaguoti dialogo srautą",
+		"DIALOGFLOW": "Dialogo srautas",
+		"BACKGROUNDCOLOR": "Fono spalva",
+		"MESSAGEFONTSIZE": "Žinutės šrifto dydis",
+		"TAG": "Žyma",
+		"EDIT_TAG": "Redaguoti žymą",
+		"CUSTOMERALIAS": "Kliento slapyvardis",
+		"SNIPPETSWIPEOUT": "Perbraukite fragmentą",
+		"CUSTOMERAVATAR": "Kliento avataras",
+		"SHOWCUSTOMERAVATAR": "Rodyti kliento avatarą",
+		"DEFAULTTITLE": "Numatytasis pavadinimas",
+		"MESSAGESALIGNMENT": "Žinučių lygiavimas",
+		"ALTERNATE": "Alternatyva",
+		"CENTERED": "Centruota",
+		"POSITION": "Padėtis",
+		"VERTICALPOSITION": "Vertikali padėtis",
+		"ALIGNMENT": "Lygiavimas",
+		"VERTICALALIGNMENT": "Vertikalus lygiavimas",
+		"BOTTOM_RIGHT": "Apačioje dešinėje",
+		"RIGHT": "Dešinėje",
+		"LEFT": "Kairėje",
+		"WAITFORTHEASSIGNEDAGENT": "Palaukite priskirto agento",
+		"AGENTIDENTIFIER": "Identifikatorius",
+		"WEBSITEALIAS": "Svetainės slapyvardis",
+		"AGENTALIAS": "Agento slapyvardis",
+		"AGENTFULLNAME": "Agento vardas, pavardė",
+		"INSERT_MESSAGE_HERE": "Teksto žinutę įterpkite čia",
+		"HIDEWHENOFFLINE": "Slėpti",
+		"NOTIFICATION": "Pranešimas",
+		"NOTIFICATIONSOUND": "Garsas",
+		"NOTIFICATIONSHAKE": "Virpėjimas",
+		"NOTIFICATIONTEMPLATE": "Šablonas",
+		"SYSTEM": "Sistema",
+		"EDIT_SYSTEM": "Redaguoti sistemą",
+		"COMMAND": "Komanda",
+		"TEXTCOLOR": "Teksto spalva",
+		"FONTSIZE": "Šrifto dydis",
+		"WEBSCRIPT": "Žiniatinklio tekstas",
+		"CANNEDANSWERS": "Įrašyti atsakymai",
+		"CHATCANNEDANSWERS": "Įrašyti atsakymai",
+		"NO_CHATCANNEDANSWER_AVAILABLE": "Nėra įrašytų atsakymų",
+		"NEW_CHATCANNEDANSWER": "Naujas įrašytas atsakymas",
+		"ADD_CHATCANNEDANSWER": "Pridėti įrašytą atsakymą",
+		"EDIT_CHATCANNEDANSWER": "Redaguoti",
+		"DELETE_CHATCANNEDANSWER": "Ištrinti",
+		"OFFLINEMESSAGESUBJECT": "Žinutės tema",
+		"OFFLINEMESSAGEBODY": "Žinutės turinys",
+		"FORMSUBMITSUCCESSMESSAGE": "Forma pateikti sėkmingą žinutę",
+		"FORMSUBMITFAILUREMESSAGE": "Forma pateikti nesėkmingą žinutę",
+		"PLACEHOLDERMESSAGE": "Žinutės vietos žymeklis",
+		"NOTETITLE": "Pastabos pavadinimas",
+		"CLOSINGQUESTION": "Baigiamasis klausimas",
+		"TAGS": "Žymos",
+		"SHOWAGENTAVATAR": "Rodyti asmeninio agento avatarą",
+		"AGENTAVATAR": "Agento avataras",
+		"SPYINTERACTION": "Sekti",
+		"NO_AGENT_ONLINE": "Nėra prisijungusio agento",
+		"GOTOREALTIME_CHATQUEUE": "Eiti į pokalbio realiu laiku eilę",
+		"PARTIALPAUSE": "Dalinė pauzė",
+		"BUSY": "Užimtas",
+		"TIMER": "Laikmatis",
+		"IDLE": "Laisvas",
+		"CAPACITY": "Pajėgumas",
+		"AGENTSADD_QUEUE": "Pridėti agentą prie pokalbių eilės",
+		"QUEUES": "Eilės",
+		"LOGGED_IN": "Prisijungęs",
+		"PAUSED": "Pristabdytas",
+		"READY": "Pasiruošęs",
+		"WAITING": "Laukia",
+		"WRITING": "Rašo",
+		"CHAT": "Pokalbis",
+		"MAIL": "El. paštas",
+		"SMS": "Trumpoji žinutė",
+		"OPENCHANNEL": "Atviras kanalas",
+		"FAX": "Faksas",
+		"PAUSE": "Pauzė",
+		"REALTIME": "Realusis laikas",
+		"AGENTS": "Agentai",
+		"FULLNAME": "Vardas pavardė",
+		"INTERNAL": "Vidinis",
+		"PHONE_STATE": "Telefono būsena",
+		"PHONE_STATUS": "Telefono statusas",
+		"LOGOUT": "Atsijungti",
+		"UNPAUSE": "Baigti pauzę",
+		"AGENTADD_QUEUE": "Pridėti agentą prie pokalbių eilės",
+		"TEXT": "Tekstas",
+		"TIMES": "Bendravimo kartų skaičius",
+		"EDIT_AUTOREPLY": "Redaguoti automatinį atsakymą",
+		"AUTOREPLY": "Automatinis atsakymas",
+		"NEW_CHATDISPOSITION": "Naujo pokalbio išdėstymas",
+		"ENABLECUSTOMERATTACHMENT": "Leisti klientų priedus",
+		"ENABLESENDBUTTON": "Leisti mygtuką Siųsti",
+		"OFFLINE_CHAT_BUTTON": "'Pokalbis neprisijungus' mygtukas",
+		"OFFLINESTATUS": "Būsena neprisijungus",
+		"NAME": "Pavadinimas",
+		"CHATQUEUES": "Pokalbio eilės",
+		"SEARCH_FOR_ANYONE": "Paieška",
+		"STRATEGY": "Strategija",
+		"AGENT_TIMEOUT": "Agento laikas baigėsi",
+		"DESCRIPTION": "Aprašymas",
+		"KEY": "Raktas",
+		"ALIAS": "Slapyvardis",
+		"VARIABLE": "Kintamas",
+		"INTERVAL": "Intervalas",
+		"EDIT_CLOSE": "Redaguoti Uždaryti",
+		"TIMEZONE": "Laiko zona",
+		"MESSAGE": "Žinutė",
+		"ADVANCED": "Pažengęs",
+		"FORWARDTRANSCRIPT": "Persiųsti nuorašą",
+		"FORWARDTRANSCRIPTMESSAGE": "Persiųsti nuorašo žinutę",
+		"SKIPMESSAGEBUTTON": "Praleisti žinutės mygtuką",
+		"EDIT_MESSAGE": "Redaguoti žinutę",
+		"CONDITION_AGREEMENT": "Sąlygų susitarimas",
+		"NONE": "Nė vienas",
+		"PRIORITY": "Prioritetas",
+		"ONLINESTATUS": "Prisijungusio statusas",
+		"UNMANAGEDSTATUS": "Nevaldomo statusas",
+		"AUTOCLOSE": "Leisti automatinį uždarymą",
+		"ENABLEUNMANAGEDNOTE": "Leisti nevaldomą žinutę",
+		"UNMANAGEDMESSAGE": "Žinutė",
+		"SKIPUNMANAGED": "Praleisti žinutę",
+		"SENDUNMANAGED": "Siųsti žinutę",
+		"WEBSITESCRIPT": "Žiniatinklio tekstas",
+		"DELETE_OFFLINEMESSAGE": "Ištrinti",
+		"OFFLINEMESSAGES": "Žinutės neprisijungus",
+		"FORWARD_OFFLINE": "Persiųsti neprisijungus",
+		"SHOW_OFFLINEMESSAGE": "Rodyti",
+		"FORWARD_OFFLINE_ADDRESS": "Persiųsti neprisijungtą adresą",
+		"CLOSINGFORM": "Uždarymo forma",
+		"ENABLERATING": "Leisti įvertinimą",
+		"ENABLECUSTOMERWRITING": "Leisti klientui rašyti prieš agentui priimant",
+		"ENABLEFEEDBACK": "Leisti atsiliepimą",
+		"FEEDBACKTITLE": "Atsiliepimo pavadinimas",
+		"RATINGTYPE": "Įvertinimo tipas",
+		"CLOSINGMESSAGE": "Baigiamoji žinutė",
+		"CLOSINGMESSAGEBUTTON": "Baigiamosios žinutės mygtukas",
+		"RATINGSTARSNUMBER": "Įvertinimo žvaigždučių skaičius",
+		"EDIT_GOTOIF": "Redaguoti eiti į jei",
+		"CONDITION": "Padėtis",
+		"TRUEPRIORITY": "Teisingas prioritetas",
+		"FALSEPRIORITY": "Neteisingas prioritetas",
+		"VALUE": "Reikšmė",
+		"MANDATORYDISPOSITION": "Privalomas išdėstymas",
+		"MANDATORYDISPOSITIONPAUSEID": "Pristabdyti naudojimą, jeigu įjungtas privalomas išdėstymas",
+		"ERRORS": {
+			"BOTNAME_REQUIRED": "Privalomas laukas",
+			"SECRETACCESSKEY_REQUIRED": "Privalomas laukas",
+			"ACCESSKEYID_REQUIRED": "Privalomas laukas",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
+			"CUSTOMERALIAS_REQUIRED": "Privalomas laukas",
+			"AGENTALIAS_REQUIRED": "Privalomas laukas",
+			"SYSTEMALIAS_REQUIRED": "Privalomas laukas",
+			"MESSAGEFONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"MESSAGEFONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"MESSAGEFONTSIZE_REQUIRED": "Privalomas laukas",
+			"TAG_REQUIRED": "Privalomas laukas",
+			"VERTICALPOSITION_REQUIRED": "Privalomas laukas",
+			"VERTICALPOSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"VERTICALPOSITION_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Privalomas laukas",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"NAME_MUST_VALID_PATTERN": "Blogas formatas",
+			"COMMAND_REQUIRED": "Privalomas laukas",
+			"FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"FONTSIZE_REQUIRED": "Privalomas laukas",
+			"TEXT_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"VALUE_REQUIRED": "Privalomas laukas",
+			"CUSTOMERALIAS_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"SYSTEMALIAS_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"OFFLINEMESSAGESUBJECT_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"OFFLINEMESSAGEBODY_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"PLACEHOLDERMESSAGE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"NOTETITLE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"FORMSUBMITSUCCESSMESSAGE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"FORMSUBMITFAILUREMESSAGE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"CLOSINGQUESTION_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"HEADER_OFFLINE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"OFFLINE_CHAT_BUTTON_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"TEXT_REQUIRED": "Privalomas laukas",
+			"SENDUNMANAGED_REQUIRED": "Privalomas laukas",
+			"SENDUNMANAGED_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"SKIPUNMANAGED_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"UNMANAGEDMESSAGE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"WEBSITEALIAS_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"AGENT_REQUIRED": "Privalomas laukas",
+			"QUEUE_REQUIRED": "Privalomas laukas",
+			"CONDITION_REQUIRED": "Privalomas laukas",
+			"PRIORITY_REQUIRED": "Privalomas laukas",
+			"TRUEPRIORITY_REQUIRED": "Privalomas laukas",
+			"FALSEPRIORITY_REQUIRED": "Privalomas laukas",
+			"NAME_REQUIRED": "Privalomas laukas",
+			"LIST_REQUIRED": "Privalomas laukas",
+			"AGENT_TIMEOUT_REQUIRED": "Privalomas laukas",
+			"MOTIONADDRESS_REQUIRED": "Privalomas laukas",
+			"DISPOSITION_REQUIRED": "Privalomas laukas",
+			"MOTIONADDRESS_MUST_VALID_URL": "Blogas formatas",
+			"EMAIL_MUST_BE_VALID": "Blogas formatas",
+			"ADDRESS_REQUIRED": "Privalomas laukas",
+			"ADDRESS_MUST_VALID_URL": "Blogas formatas",
+			"ENQUIRY_FORWARDING_ADDRESS_REQUIRED": "Privalomas laukas",
+			"ACCEPTURL_MUST_VALID_URL": "Blogas formatas",
+			"TIMEOUT_REQUIRED": "Privalomas laukas",
+			"REJECTURL_MUST_VALID_URL": "Blogas formatas",
+			"CLOSEURL_MUST_VALID_URL": "Blogas formatas",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"POLLING_INTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"WAITINGMESSAGE_REQUIRED": "Privalomas laukas",
+			"WAITINGTITLE_REQUIRED": "Privalomas laukas",
+			"KEY_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"KEY_REQUIRED": "Privalomas laukas",
+			"WAITINGMESSAGE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"WAITINGTITLE_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{max}}",
+			"RATINGSTARSNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas",
+			"VIDAOOAPIKEY_REQUIRED": "Privalomas laukas"
+		},
+		"CM_FIELD": "Kontaktų vadybininko laukas",
+		"CHATPROACTIVEACTIONS": "Aktyvūs veiksmai",
+		"NEW_CHATPROACTIVEACTION": "Naujas aktyvus veiksmas",
+		"EDIT_CHATPROACTIVEACTION": "Redaguoti aktyvų veiksmą",
+		"DELETE_CHATPROACTIVEACTION": "Ištrinti aktyvų veiksmą",
+		"ADD_CHATPROACTIVEACTION": "Pridėti aktyvų veiksmą",
+		"NO_CHATPROACTIVEACTION_AVAILABLE": "Nėra aktyvių veiksmų",
+		"NO_OFFLINEMESSAGE_AVAILABLE": "Nėra neprisijungusių žinučių",
+		"MOUSEOVER": "Pele per",
+		"TIMEOUT": "Laikas baigėsi",
+		"TYPE": "Tipas",
+		"SELECTOR": "Parinkėjas",
+		"AGENT": "Agentas",
+		"GOTO": "Eiti į",
+		"GOTOIF": "Eiti į jei",
+		"NOOP": "Noop",
+		"QUEUE": "Eilė",
+		"BUILDER": "Statytojas",
+		"PREVIEW": "Peržiūra",
+		"EDIT_AGENT": "Redaguoti agentą",
+		"EDIT_QUEUE": "Redaguoti eilę",
+		"EDIT_GOTO": "Redaguoti Eiti į",
+		"EDIT_GOTOIf": "Redaguoti Eiti į jei",
+		"EDIT_NOOP": "Redaguoti Noop",
+		"ADD_CHATQUEUE": "Pridėti pokalbio eilę",
+		"EDIT_CHATQUEUE": "Redaguoti pokalbio eilę",
+		"DELETE_CHATQUEUE": "Ištrinti pokalbio eilę",
+		"SETTINGS": "Nustatymai",
+		"SAVE": "Saugoti",
+		"SCRIPT": "Tekstas",
+		"TOKEN": "Ženklas",
+		"CREATED_AT": "Sukurtas",
+		"CHATWEBSITES": "Pokalbių svetainės",
+		"MOTIONADDRESS": "Svetainės domenas",
+		"MOTIONPROXY": "Proxy arba Motion domenas",
+		"ADD_CHATWEBSITE": "Pridėti pokalbių svetainę",
+		"EDIT_CHATWEBSITE": "Redaguoti pokalbių svetainę",
+		"DELETE_CHATWEBSITE": "Ištrinti pokalbių svetainę",
+		"LIST": "Sąrašas",
+		"SNIPPET": "Fragmentas",
+		"FORMS": "Formos",
+		"UP": "Į viršų",
+		"DOWN": "Žemyn",
+		"COLLAPSE": "Suspausti",
+		"PROACTIVEACTIONS": "Aktyvūs veiksmai",
+		"DISPOSITIONS": "Išdėstymai",
+		"WEBHOOKS": "Internetinės svetainės",
+		"ACTIONS": "Veiksmai",
+		"FIDELITY": "Tikslumas",
+		"APPEARANCE": "Išvaizda",
+		"MAINCOLOR": "Pagrindinė spalva",
+		"FOCUSCOLOR": "Centro spalva",
+		"BUTTONCOLOR": "Mygtuko spalva",
+		"HEADERSHAPE": "Antraštės forma",
+		"ANIMATION": "Animacija",
+		"DEFAULT": "Numatytas",
+		"WHITELABEL": "Balta etiketė",
+		"LOGO": "Logotipas",
+		"DOWNLOADTRANSCRIPT": "Atsisiųsti nuorašą",
+		"ENQUIRY_ENABLE": "Užklausa leidžiama",
+		"ENQUIRY_FORWARDING": "Užklausos persiuntimas",
+		"ENQUIRY_FORWARDING_ADDRESS": "Užklausos persiuntimo adresas",
+		"LABELS": "Etiketės",
+		"HEADER_ONLINE": "Prisijungimo antraštė",
+		"ONLINE_MESSAGE": "Prisijungimo žinutė",
+		"NAME_TITLE": "Pavadinimo įvedimo etiketė",
+		"USERNAME_PLACEHOLDER": "Vartotojo vardo įvedimo vietos žymeklis",
+		"EMAIL_TITLE": "El. pašto įvedimo etiketė",
+		"EMAIL_PLACEHOLDER": "El. pašto įvedimo vietos žymeklis",
+		"START_CHAT_BUTTON": "'Pradėti pokalbį' mygtukas",
+		"AGENTS_BUSY": "Užimtų agentų žinutė",
+		"HEADER_OFFLINE": "Antraštė neprisijungus",
+		"OFFLINE_MESSAGE": "Žinutė neprisijungus",
+		"MESSAGE_TITLE": "Žinutės etiketė",
+		"ENQUIRY_MESSAGE_PLACEHOLDER": "Užklausos žinutės įvedimo vietos žymeklis",
+		"ENQUIRY_BUTTON": "Užklausos mygtuko tekstas",
+		"RATING_MESSAGE": "Įvertinimo žinutė",
+		"RATING_SEND": "Įvertinimo siuntimo mygtuko tekstas",
+		"RATING_SKIP": "Įvertinimo praleidimo mygtuko tekstas",
+		"ONLINE": "Prisijungęs",
+		"OFFLINE": "Neprisijungęs",
+		"PROACTIVE": "Aktyvus",
+		"ACCEPT": "Priimti",
+		"ACCEPTMETHOD": "Priėmimo metodas",
+		"ACCEPTURL": "Priimti URL",
+		"REJECT": "Atmesti",
+		"REJECTMETHOD": "Atmetimo metodas",
+		"REJECTURL": "Atmesti URL",
+		"CLOSE": "Uždaryti",
+		"CLOSEMETHOD": "Uždarymo metodas",
+		"CLOSEURL": "Uždaryti URL",
+		"EMBEDDING": "Įterpti",
+		"GENERAL": "Bendras",
+		"SELECTED": "Pasirinkta",
+		"SELECT_ALL": "Pasirinkti viską",
+		"SELECT_NONE": "Nieko nepasirinkti",
+		"BACK": "Atgal",
+		"HELP": {
+			"VERTICALPOSITION": "Rodo atstumą procentais nuo viršaus",
+			"AGENTIDENTIFIER": "Rodo agento identifikatorių pokalbio seanso fragmente",
+			"HIDEWHENOFFLINE": "Paslepia fragmentą, kai esate neprisijungęs",
+			"KEY": "Svetainės trumpas pavadinimas (5 simbolių), rodomas agento kortelėje",
+			"TOKEN": "Automatiškai sugeneruotas prieigos raktas, naudojamas tekste",
+			"INTEVAL": "Turi būti pasirinktas iš galimų intervalų sąrašo",
+			"TIMEZONE": "Pasirinkite vieną iš sąrašo (numatytoji = vietos laiko juosta)",
+			"ENABLERATING": "Įjunkite, jei norite, kad žiniatinklio lankytojas pabaigoje galėtų įvertinti bendravimą",
+			"ENABLEFEEDBACK": "Įjunkite, jei norite, kad žiniatinklio lankytojas pabaigoje galėtų siųsti atsiliepimą (iki 150 simbolių)",
+			"FORWARDTRANSCRIPT": "Įjunkite, jei norite, kad žiniatinklio lankytojo prašymu gautų pokalbio nuorašą el. paštu",
+			"AUTOCLOSE": "Įjunkite, jei norite, kad pokalbių seansai būtų uždaryti kaip nevaldomi, jei nėra agento. Sužinokite daugiau apie tai adresu: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet",
+			"ENABLEUNMANAGEDNOTE": "Įjunkite, jei norite, kad lankytojui būtų rodomas pranešimas, kai visi agentai yra užimti ir pokalbis yra nevaldomas",
+			"WEBSITEALIAS": "Prefiksas, naudojamas agento vardui sudaryti (prefiksas + agento ID), rodomas žiniatinklio lankytojui pokalbio sesijos metu",
+			"ENABLECUSTOMERWRITING": "Įjunkite, jei norite, kad pokalbis prasidėtų nelaukiant pasiekiamo agento (atkreipkite dėmesį: jei įjungsite, jūsų pokalbiai niekada nebus nevaldomi). Sužinokite daugiau: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet",
+			"MAPKEY": "Šis Motion kontaktų tvarkytojo laukas:",
+			"FROMKEY": "Bus priskirtas jūsų Motion pokalbio fragmente kaip:",
+			"COPYSCRIPTTOCLIPBOARD": "Nukopijuokite ir įklijuokite scenarijaus tekstą į savo svetainę",
+			"FORWARD_OFFLINE": "Galite pridėti kelis adresus, atskirtus kableliais (pvz. [email-masked], [email-masked])",
+			"MOTIONADDRESS": "Laukas turi būti tokio formato: <protocol>://<ipaddress>[:<port>]. Pavyzdys: https://X.Y.Z.W",
+			"MOTIONPROXY": "Laukas turi būti tokio formato: <protocol>://<ipaddress>[:<port>]. Pavyzdys: https://X.Y.Z.W",
+			"NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (. _)",
+			"LIST": "Kontaktų tvarkyklės sąrašas, naudojamas susieti kontaktus",
+			"INTERVAL": "Pasirinkite vieną iš sąrašo",
+			"MANDATORYDISPOSITION": "Privalomas išdėstymas",
+			"MANDATORYDISPOSITIONPAUSEID": "Pauzės naudojimas, jei įjungtas privalomas išdėstymas",
+			"WELCOMEMESSAGE": "Palikite tuščią, jei nenorite siųsti jokios pasveikinimo žinutės"
+		},
+		"ADDRESS": "Adresas",
+		"ONLINESTATE": "Būsena prisijungus",
+		"OFFLINESTATE": "Būsena neprisijungus",
+		"RATINGSTATE": "Įvertinimo būsena",
+		"ENQUIRY": "Užklausa",
+		"OFFLINETEMPLATE": "Šablonas neprisijungus",
+		"CHATDISPOSITIONS": "Pokalbio išdėstymai",
+		"NO_CHATDISPOSITION_AVAILABLE": "Nėra pokalbio išdėstymų",
+		"ADD_CHATDISPOSITION": "Pridėti pokalbio išdėstymą",
+		"DELETE": "Ištrinti",
+		"EDIT_CHATDISPOSITION": "Redaguoti pokalbio išdėstymą",
+		"DELETE_CHATDISPOSITION": "Ištrinti pokalbio išdėstymą",
+		"ID": "Id",
+		"NEW_CHATQUEUE": "Nauja pokalbio eilė",
+		"NEW_CHATWEBSITE": "Nauja pokalbių svetainė",
+		"ROUNDED": "Apvalinta",
+		"SQUARED": "Kvadratu",
+		"NO_AVAILABLE_INFO": "Nėra informacijos",
+		"ALL_TEAMS": "Visos komandos",
+		"SELECTED_TEAMS": "Pasirinktos komandos",
+		"PAGE": "Puslapis",
+		"ROWSPERPAGE": "Eilutės puslapyje",
+		"OF": "Iš",
+		"CONTACT": "Kontaktas",
+		"STARTEDAT": "Pradėjo nuo",
+		"LASTMESSAGE": "Paskutinė žinutė",
+		"STATUS": "Būsena",
+		"CLOSED": "Uždaryta",
+		"OPENED": "Atidaryta",
+		"OPEN": "Atidaryta",
+		"ACCOUNT": "Paskyra",
+		"INTERACTION": "Bendravimas",
+		"INTERACTIONS": "Bendravimai",
+		"WEBSITE": "Interneto svetainė",
+		"ALL": "Visi",
+		"SELECT_STATUS": "Pasirinkti būseną",
+		"FILTER": "Filtras",
+		"FILTERS": "Filtrai",
+		"TEAMADD_CHATQUEUE": "Pridėti komandą prie pokalbių eilės",
+		"AGENTADD_CHATQUEUE": "Pridėti agentą prie pokalbių eilės",
+		"ALL_AGENTS": "Visi agentai",
+		"SELECTED_AGENTS": "Pasirinkti agentai",
+		"CLOSEDAT": "Uždaryta",
+		"DISPOSITION": "Išdėstymas",
+		"CREATEDAT": "Sukurta",
+		"NOTES": "Pastabos",
+		"NO_INTERACTION_AVAILABLE": "Nėra jokių bendravimų",
+		"SELECTED_WEBSITE": "Pasirinktos interneto svetainės",
+		"GOTOP": "Eiti į viršų",
+		"EDIT_GOTOP": "Redaguoti Eiti į viršų",
+		"SELECT_WEBSITE": "Pasirinkti interneto svetainę",
+		"INFO": "Informacija",
+		"OFFLINEMESSAGES_CHATWEBSITE": "Eiti į neprisijungusias žinutes",
+		"WAITINGTITLE": "Laukimo antraštė",
+		"WAITINGMESSAGE": "Laukimo žinutė",
+		"RATING": "Įvertinimas",
+		"NO_RATINGVALUE": "Nėra įvertinimo",
+		"DEFAULT_PAUSE": "Numatytoji pauzė",
+		"UNKNOWN": "Nežinomas",
+		"UNREGISTERED": "Neregistruotas",
+		"UNAVAILABLE": "Nepasiekiamas",
+		"NOT_INUSE": "Nenaudojamas",
+		"REACHABLE": "Pasiekiamas",
+		"IN_USE": "Naudojamas",
+		"VOICE": "Balsas",
+		"INTERACTIONS_CHATWEBSITE": "Eiti į bendravimus",
+		"REFRESH_INTERACTIONS": "Atnaujinti bendravimus",
+		"DELETE_INTERACTION": "Ištrinti bendravimą",
+		"AGENTADD_CHATWEBSITE": "Pridėti agentą į pokalbių svetainę",
+		"TEAMS_ASSOCIATION": "Komandų asociacija",
+		"TOOLTIP_SCREENRECORDING_ON": "Vyksta ekrano įrašymas",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekrano įrašymas galimas",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Atsisiųsti su priedais",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Atsisiųsti be priedų",
+		"VIDAOO": "Vidaoo",
+		"VIDAOOAPIKEY": "„Vidaoo Api Key“",
+		"VIDAOOESCALATION": "Pradėti vaizdo skambutį",
+		"VIDAOOSESSION": "Pradėti vaizdo skambutį",
+		"VIDEO": "Vaizdo įrašas"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/contactmanager/i18n/cs.json b/public/app/main/apps/contactmanager/i18n/cs.json
new file mode 100644
index 0000000..257d3e6
--- /dev/null
+++ b/public/app/main/apps/contactmanager/i18n/cs.json
@@ -0,0 +1,184 @@
+{
+	"CONTACTMANAGER": {
+		"SELECT_TAG": "Select tags",
+		"CUSTOMER_JOURNEY": "Customer Journey",
+		"USERID": "Recall Agent ID",
+		"PRIORITY": "Priority",
+		"MOTIONDIALER": "Motion Bull",
+		"IMPORT_CONTACTS": "Import Contacts",
+		"PREFIX": "Dial Prefix",
+		"VOICEQUEUEID": "VoiceQueue ID",
+		"CAMPAIGNID": "Campaign ID",
+		"STATE": "State",
+		"NAME": "Name",
+		"LISTS": "Lists",
+		"UNIQUEID": "Unique Id",
+		"STATUS": "Status",
+		"STARTTIME": "Start Time",
+		"ENDTIME": "End Time",
+		"MOTION_BULL": "Motion Bull",
+		"HOPPER": "Hopper",
+		"FINAL": "Hopper Final",
+		"HISTORY": "Hopper History",
+		"SCHEDULEDAT": "Scheduled At",
+		"SEARCH_FOR_ANYONE": "Search",
+		"EDIT_LIST": "Edit List",
+		"EDIT_HOPPER": "Edit Hopper",
+		"DELETE_LIST": "Delete List",
+		"DELETE_HOPPER": "Delete Hopper",
+		"RELOAD": "Reload",
+		"NO_COMPANIES": "No Company",
+		"NO_AVAILABLE_ITEMS": "No Available Items",
+		"ADD": "Add",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"FIRSTNAME_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"ALIAS_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"PHONEBAR_API": "Check the MotionBar is running and the remote control switch for the agent is turned on"
+		},
+		"DESCRIPTION": "Description",
+		"DISPOSITION": "Disposition",
+		"DISPOSITIONS": "Dispositions",
+		"VOICEDISPOSITIONS": "Voice Dispositions",
+		"NEW_VOICEDISPOSITION": "New Voice Disposition",
+		"CUSTOM_FIELDS": "Custom Fields",
+		"ADD_LIST": "Add List",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"COMPANIES": "Companies",
+		"EDIT_COMPANY": "Edit Company",
+		"DELETE_COMPANY": "Delete Company",
+		"PHONE": "Phone",
+		"EMAIL": "Email",
+		"ADD_COMPANY": "Add Company",
+		"CONTACTS": "Contacts",
+		"NEW_LIST": "New List",
+		"FIRSTNAME": "First Name",
+		"LASTNAME": "Last Name",
+		"LIST": "List",
+		"COMPANY": "Company",
+		"ADD_CONTACT": "Add Contact",
+		"EDIT_CONTACT": "Edit Contact",
+		"MERGE_CONTACT": "Merge Contact",
+		"DUPLICATE_CONTACT": "Duplicate Contact",
+		"DELETE_CONTACT": "Delete Contact",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"DETAIL": "Detail",
+		"PERSONAL_INFO": "Personal Info",
+		"MOBILE": "Mobile",
+		"FAX": "Fax",
+		"TAGS": "Tags",
+		"SHOW_ALL_FIELDS": "Show all fields",
+		"FEWER_FIELDS": "Show less fields",
+		"COUNTRY": "Country",
+		"CITY": "City",
+		"STREET": "Street",
+		"POSTALCODE": "Postal Code",
+		"DELETE": "Delete",
+		"DELETE_ALL": "Delete All",
+		"CONTACTMANAGER": "Contacts Manager",
+		"ID": "Id",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"CUSTOMFIELDS": "Custom Fields",
+		"NO_CUSTOMFIELD_AVAILABLE": "No Custom Fields available",
+		"ADD_TAG": "Add Tag",
+		"NO_TAG": "No Tags",
+		"ALIAS": "Alias",
+		"TYPE": "Type",
+		"VALUE": "Value",
+		"ADD_CUSTOMFIELD": "Add Custom Field",
+		"EDIT_CUSTOMFIELD": "Edit Custom Field",
+		"DELETE_CUSTOMFIELD": "Delete Custom Field",
+		"NEW_COMPANY": "New Company",
+		"NEW_CONTACT": "New Contact",
+		"NEW_TAG": "New Tag",
+		"UPLOAD_CONTACTS": "Upload Contacts",
+		"FINISH": "Finish",
+		"SUCCESS": "Success",
+		"FAILURE": "Failure",
+		"ALL_CONTACTS": "All Contacts",
+		"NEW_CUSTOMFIELD": "New Custom Field",
+		"NO_VOICEDISPOSITION_AVAILABLE": "No Voice Dispositions available",
+		"ADD_VOICEDISPOSITION": "Add Voice Disposition",
+		"EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+		"DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+		"VAT": "VAT",
+		"COMPANYID": "Company ID",
+		"WEBSITE": "Website",
+		"EMAIL_DOMAIN": "Email Domain",
+		"ADDRESS": "Address",
+		"POSTAL_CODE": "Postal Code",
+		"SHIPMENTADDRESS": "Shipment Address",
+		"COPY_CONTACT": "Copy Contact",
+		"GOTOCONTACTS_LIST": "Show Contacts",
+		"GOTOCONTACTS_COMPANY": "Show Contacts",
+		"ADD_AGENT_TO_LIST": "Add Agent to List",
+		"AGENTADD_LIST": "Add Agents to List",
+		"NO_AVAILABLE_INFO": "No available info",
+		"NONE": "None",
+		"FULLNAME": "Full Name",
+		"CHECK_DUPLICATES": "Check Duplicates",
+		"DUPLICATES": "Duplicates",
+		"UPLOAD_CSV": "Upload CSV",
+		"TAG": "Tag",
+		"UPLOAD": "Upload",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"DATE_OF_BIRTH": "Birthdate",
+		"DATEOFBIRTH": "Birthdate",
+		"NOTES": "Notes",
+		"EXPORTCSVCONTACTS_LIST": "Export to CSV",
+		"GOTO_LIST": "Show Contacts",
+		"GOTO_COMPANY": "Show Contacts",
+		"REQUIRED": "Required",
+		"GLOBALCUSTOMFIELDS": "Global Custom Fields",
+		"NEW_GLOBALCUSTOMFIELD": "New Custom Fields",
+		"ADD_GLOBALCUSTOMFIELD": "Add Custom Field",
+		"EDIT_GLOBALCUSTOMFIELD": "Edit Custom Field",
+		"DELETE_GLOBALCUSTOMFIELD": "Delete Custom Field",
+		"JSCRIPTY": "Jscripty",
+		"SESSIONS": "Sessions",
+		"AGENT": "Agent",
+		"PROJECT": "Project",
+		"SELECT_LIST": "Select a list",
+		"SELECT_COMPANY": "Select a company",
+		"SELECT_TAGS": "Select one or more tags",
+		"HELP": {
+			"PHONEBAR_API_MESSAGE": "To enable click-to-call, insert a phone number and check the remote control switch for the Agent is turned on",
+			"PHONEBAR_API": "To enable click-to-call, insert a phone number and check the remote control switch for the Agent is turned on"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"SOCIAL": "Social",
+		"ROW": "Row",
+		"EXPORT_ERRORS": "Export Errors",
+		"UPLOAD_COMPLETED": "Upload Completed",
+		"STOP": "Stop",
+		"SELECT_FILE": "Select File",
+		"ALL": "Všechno",
+		"BILLINGINFORMATION": "Fakturační údaje",
+		"COMPANY_FISCAL_TYPE": "Fiskální typ společnosti",
+		"CREATE": "Vytvořit",
+		"EUROPE": "Evropa",
+		"EXPIREDAY": "Dny vypršení platnosti",
+		"FLATDISCOUNT": "Firemní sleva",
+		"INVOICEARTICLE": "Články práva",
+		"ISOCODE": "Národní kód ISO",
+		"PAYMENTMETHOD": "Způsob platby",
+		"PIVA": "DIČ",
+		"RECALLME": "Připomeň mi",
+		"RELATIONSHIP": "Vztah ...",
+		"RELATIONSHIPCOMPANY": " ... s",
+		"SDICODE": "Kód SDI",
+		"SOCIAL_CAPITAL": "Základní kapitál",
+		"VATNUMBER_CF": "Codice Fiscale / DPH"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/contactmanager/i18n/et.json b/public/app/main/apps/contactmanager/i18n/et.json
new file mode 100644
index 0000000..3a7954e
--- /dev/null
+++ b/public/app/main/apps/contactmanager/i18n/et.json
@@ -0,0 +1,184 @@
+{
+	"CONTACTMANAGER": {
+		"SELECT_TAG": "Select tags",
+		"CUSTOMER_JOURNEY": "Customer Journey",
+		"USERID": "Recall Agent ID",
+		"PRIORITY": "Priority",
+		"MOTIONDIALER": "Motion Bull",
+		"IMPORT_CONTACTS": "Import Contacts",
+		"PREFIX": "Dial Prefix",
+		"VOICEQUEUEID": "VoiceQueue ID",
+		"CAMPAIGNID": "Campaign ID",
+		"STATE": "State",
+		"NAME": "Name",
+		"LISTS": "Lists",
+		"UNIQUEID": "Unique Id",
+		"STATUS": "Status",
+		"STARTTIME": "Start Time",
+		"ENDTIME": "End Time",
+		"MOTION_BULL": "Motion Bull",
+		"HOPPER": "Hopper",
+		"FINAL": "Hopper Final",
+		"HISTORY": "Hopper History",
+		"SCHEDULEDAT": "Scheduled At",
+		"SEARCH_FOR_ANYONE": "Search",
+		"EDIT_LIST": "Edit List",
+		"EDIT_HOPPER": "Edit Hopper",
+		"DELETE_LIST": "Delete List",
+		"DELETE_HOPPER": "Delete Hopper",
+		"RELOAD": "Reload",
+		"NO_COMPANIES": "No Company",
+		"NO_AVAILABLE_ITEMS": "No Available Items",
+		"ADD": "Add",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"FIRSTNAME_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"ALIAS_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"PHONEBAR_API": "Check the MotionBar is running and the remote control switch for the agent is turned on"
+		},
+		"DESCRIPTION": "Description",
+		"DISPOSITION": "Disposition",
+		"DISPOSITIONS": "Dispositions",
+		"VOICEDISPOSITIONS": "Voice Dispositions",
+		"NEW_VOICEDISPOSITION": "New Voice Disposition",
+		"CUSTOM_FIELDS": "Custom Fields",
+		"ADD_LIST": "Add List",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"COMPANIES": "Companies",
+		"EDIT_COMPANY": "Edit Company",
+		"DELETE_COMPANY": "Delete Company",
+		"PHONE": "Phone",
+		"EMAIL": "Email",
+		"ADD_COMPANY": "Add Company",
+		"CONTACTS": "Contacts",
+		"NEW_LIST": "New List",
+		"FIRSTNAME": "First Name",
+		"LASTNAME": "Last Name",
+		"LIST": "List",
+		"COMPANY": "Company",
+		"ADD_CONTACT": "Add Contact",
+		"EDIT_CONTACT": "Edit Contact",
+		"MERGE_CONTACT": "Merge Contact",
+		"DUPLICATE_CONTACT": "Duplicate Contact",
+		"DELETE_CONTACT": "Delete Contact",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"DETAIL": "Detail",
+		"PERSONAL_INFO": "Personal Info",
+		"MOBILE": "Mobile",
+		"FAX": "Fax",
+		"TAGS": "Tags",
+		"SHOW_ALL_FIELDS": "Show all fields",
+		"FEWER_FIELDS": "Show less fields",
+		"COUNTRY": "Country",
+		"CITY": "City",
+		"STREET": "Street",
+		"POSTALCODE": "Postal Code",
+		"DELETE": "Delete",
+		"DELETE_ALL": "Delete All",
+		"CONTACTMANAGER": "Contacts Manager",
+		"ID": "Id",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"CUSTOMFIELDS": "Custom Fields",
+		"NO_CUSTOMFIELD_AVAILABLE": "No Custom Fields available",
+		"ADD_TAG": "Add Tag",
+		"NO_TAG": "No Tags",
+		"ALIAS": "Alias",
+		"TYPE": "Type",
+		"VALUE": "Value",
+		"ADD_CUSTOMFIELD": "Add Custom Field",
+		"EDIT_CUSTOMFIELD": "Edit Custom Field",
+		"DELETE_CUSTOMFIELD": "Delete Custom Field",
+		"NEW_COMPANY": "New Company",
+		"NEW_CONTACT": "New Contact",
+		"NEW_TAG": "New Tag",
+		"UPLOAD_CONTACTS": "Upload Contacts",
+		"FINISH": "Finish",
+		"SUCCESS": "Success",
+		"FAILURE": "Failure",
+		"ALL_CONTACTS": "All Contacts",
+		"NEW_CUSTOMFIELD": "New Custom Field",
+		"NO_VOICEDISPOSITION_AVAILABLE": "No Voice Dispositions available",
+		"ADD_VOICEDISPOSITION": "Add Voice Disposition",
+		"EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+		"DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+		"VAT": "VAT",
+		"COMPANYID": "Company ID",
+		"WEBSITE": "Website",
+		"EMAIL_DOMAIN": "Email Domain",
+		"ADDRESS": "Address",
+		"POSTAL_CODE": "Postal Code",
+		"SHIPMENTADDRESS": "Shipment Address",
+		"COPY_CONTACT": "Copy Contact",
+		"GOTOCONTACTS_LIST": "Show Contacts",
+		"GOTOCONTACTS_COMPANY": "Show Contacts",
+		"ADD_AGENT_TO_LIST": "Add Agent to List",
+		"AGENTADD_LIST": "Add Agents to List",
+		"NO_AVAILABLE_INFO": "No available info",
+		"NONE": "None",
+		"FULLNAME": "Full Name",
+		"CHECK_DUPLICATES": "Check Duplicates",
+		"DUPLICATES": "Duplicates",
+		"UPLOAD_CSV": "Upload CSV",
+		"TAG": "Tag",
+		"UPLOAD": "Upload",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"DATE_OF_BIRTH": "Birthdate",
+		"DATEOFBIRTH": "Birthdate",
+		"NOTES": "Notes",
+		"EXPORTCSVCONTACTS_LIST": "Export to CSV",
+		"GOTO_LIST": "Show Contacts",
+		"GOTO_COMPANY": "Show Contacts",
+		"REQUIRED": "Required",
+		"GLOBALCUSTOMFIELDS": "Global Custom Fields",
+		"NEW_GLOBALCUSTOMFIELD": "New Custom Fields",
+		"ADD_GLOBALCUSTOMFIELD": "Add Custom Field",
+		"EDIT_GLOBALCUSTOMFIELD": "Edit Custom Field",
+		"DELETE_GLOBALCUSTOMFIELD": "Delete Custom Field",
+		"JSCRIPTY": "Jscripty",
+		"SESSIONS": "Sessions",
+		"AGENT": "Agent",
+		"PROJECT": "Project",
+		"SELECT_LIST": "Select a list",
+		"SELECT_COMPANY": "Select a company",
+		"SELECT_TAGS": "Select one or more tags",
+		"HELP": {
+			"PHONEBAR_API_MESSAGE": "To enable click-to-call, insert a phone number and check the remote control switch for the Agent is turned on",
+			"PHONEBAR_API": "To enable click-to-call, insert a phone number and check the remote control switch for the Agent is turned on"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"SOCIAL": "Social",
+		"ROW": "Row",
+		"EXPORT_ERRORS": "Export Errors",
+		"UPLOAD_COMPLETED": "Upload Completed",
+		"STOP": "Stop",
+		"SELECT_FILE": "Select File",
+		"ALL": "Kõik",
+		"BILLINGINFORMATION": "Arveldusinfo",
+		"COMPANY_FISCAL_TYPE": "Ettevõtte maksutüüp",
+		"CREATE": "Loo",
+		"EUROPE": "Euroopa",
+		"EXPIREDAY": "Aegumispäevad",
+		"FLATDISCOUNT": "Ettevõtte allahindlus",
+		"INVOICEARTICLE": "Seaduse artiklid",
+		"ISOCODE": "ISO riiklik kood",
+		"PAYMENTMETHOD": "Makseviis",
+		"PIVA": "Käibemaksukohustuslase number",
+		"RECALLME": "Tuleta mind meelde",
+		"RELATIONSHIP": "Suhe ...",
+		"RELATIONSHIPCOMPANY": " ... koos",
+		"SDICODE": "SDI kood",
+		"SOCIAL_CAPITAL": "Osakapital",
+		"VATNUMBER_CF": "Codice Fiscale / käibemaks"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/contactmanager/i18n/lt.json b/public/app/main/apps/contactmanager/i18n/lt.json
new file mode 100644
index 0000000..5258b4b
--- /dev/null
+++ b/public/app/main/apps/contactmanager/i18n/lt.json
@@ -0,0 +1,184 @@
+{
+	"CONTACTMANAGER": {
+		"SELECT_TAG": "Pasirinkti žymas",
+		"CUSTOMER_JOURNEY": "Kliento kelias",
+		"USERID": "Prisiminti agento ID",
+		"PRIORITY": "Prioritetas",
+		"MOTIONDIALER": "Motion Bull",
+		"IMPORT_CONTACTS": "Importuoti kontaktus",
+		"PREFIX": "Rinkti prefiksą",
+		"VOICEQUEUEID": "Balso eilės ID",
+		"CAMPAIGNID": "Kampanijos ID",
+		"STATE": "Valstybė",
+		"NAME": "Pavadinimas",
+		"LISTS": "Sąrašai",
+		"UNIQUEID": "Unikalus Id",
+		"STATUS": "Būsena",
+		"STARTTIME": "Pradžios laikas",
+		"ENDTIME": "Pabaigos laikas",
+		"MOTION_BULL": "Motion Bull",
+		"HOPPER": "Talpykla",
+		"FINAL": "Talpyklos pabaiga",
+		"HISTORY": "Talpyklos istorija",
+		"SCHEDULEDAT": "Įtraukta",
+		"SEARCH_FOR_ANYONE": "Paieška",
+		"EDIT_LIST": "Redaguoti sąrašą",
+		"EDIT_HOPPER": "Redaguoti talpyklą",
+		"DELETE_LIST": "Ištrinti sąrašą",
+		"DELETE_HOPPER": "Ištrinti talpyklą",
+		"RELOAD": "Perkrauti",
+		"NO_COMPANIES": "Nėra įmonės",
+		"NO_AVAILABLE_ITEMS": "Nėra galimų įrašų",
+		"ADD": "Pridėti",
+		"ERRORS": {
+			"NAME_REQUIRED": "Privalomas laukas",
+			"FIRSTNAME_REQUIRED": "Privalomas laukas",
+			"PHONE_REQUIRED": "Privalomas laukas",
+			"ALIAS_REQUIRED": "Privalomas laukas",
+			"VALUE_REQUIRED": "Privalomas laukas",
+			"EMAIL_MUST_VALID": "Blogas formatas",
+			"PHONEBAR_API": "Patikrinkite, ar veikia „MotionBar“ ir ar įjungtas agento nuotolinio valdymo perjungimas"
+		},
+		"DESCRIPTION": "Aprašymas",
+		"DISPOSITION": "Išdėstymas",
+		"DISPOSITIONS": "Išdėstymai",
+		"VOICEDISPOSITIONS": "Balso išdėstymai",
+		"NEW_VOICEDISPOSITION": "Naujas balso išdėstymas",
+		"CUSTOM_FIELDS": "Pasirinktiniai laukai",
+		"ADD_LIST": "Pridėti sąrašą",
+		"BACK": "Atgal",
+		"SELECTED": "Pasirinkta",
+		"SELECT_ALL": "Pasirinkti viską",
+		"SELECT_NONE": "Nieko nepasirinkti",
+		"COMPANIES": "Įmonės",
+		"EDIT_COMPANY": "Redaguoti įmonę",
+		"DELETE_COMPANY": "Ištrinti įmonę",
+		"PHONE": "Telefonas",
+		"EMAIL": "El. paštas",
+		"ADD_COMPANY": "Pridėti įmonę",
+		"CONTACTS": "Kontaktai",
+		"NEW_LIST": "Naujas sąrašas",
+		"FIRSTNAME": "Vardas",
+		"LASTNAME": "Pavardė",
+		"LIST": "Sąrašas",
+		"COMPANY": "Įmonė",
+		"ADD_CONTACT": "Pridėti kontaktą",
+		"EDIT_CONTACT": "Redaguoti kontaktą",
+		"MERGE_CONTACT": "Sujungti kontaktą",
+		"DUPLICATE_CONTACT": "Dubliuoti kontaktą",
+		"DELETE_CONTACT": "Ištrinti kontaktą",
+		"CREATED_AT": "Sukurta",
+		"SAVE": "Saugoti",
+		"DETAIL": "Išsamiau",
+		"PERSONAL_INFO": "Asmeninė informacija",
+		"MOBILE": "Mobilus",
+		"FAX": "Faksas",
+		"TAGS": "Žymės",
+		"SHOW_ALL_FIELDS": "Rodyti visus laukus",
+		"FEWER_FIELDS": "Rodyti mažiau laukų",
+		"COUNTRY": "Šalis",
+		"CITY": "Miestas",
+		"STREET": "Gatvė",
+		"POSTALCODE": "Pašto kodas",
+		"DELETE": "Ištrinti",
+		"DELETE_ALL": "Ištrinti visus",
+		"CONTACTMANAGER": "Kontaktų tvarkytojas",
+		"ID": "Id",
+		"SETTINGS": "Nustatymai",
+		"GENERAL": "Bendras",
+		"CUSTOMFIELDS": "Pasirinktiniai laukai",
+		"NO_CUSTOMFIELD_AVAILABLE": "Nėra pasirinktinių laukų",
+		"ADD_TAG": "Pridėti žymę",
+		"NO_TAG": "Nėra žymių",
+		"ALIAS": "Slapyvardis",
+		"TYPE": "Tipas",
+		"VALUE": "Reikšmė",
+		"ADD_CUSTOMFIELD": "Pridėti pasirinktinį lauką",
+		"EDIT_CUSTOMFIELD": "Redaguoti pasirinktinį lauką",
+		"DELETE_CUSTOMFIELD": "Ištrinti pasirinktinį lauką",
+		"NEW_COMPANY": "Nauja įmonė",
+		"NEW_CONTACT": "Naujas kontaktas",
+		"NEW_TAG": "Nauja žymė",
+		"UPLOAD_CONTACTS": "Įkelti kontaktus",
+		"FINISH": "Pabaiga",
+		"SUCCESS": "Sėkminga",
+		"FAILURE": "Nesėkminga",
+		"ALL_CONTACTS": "Visi kontaktai",
+		"NEW_CUSTOMFIELD": "Naujas pasirinktinis laukas",
+		"NO_VOICEDISPOSITION_AVAILABLE": "Nėra balso išdėstymų",
+		"ADD_VOICEDISPOSITION": "Pridėti balso išdėstymą",
+		"EDIT_VOICEDISPOSITION": "Redaguoti balso išdėstymą",
+		"DELETE_VOICEDISPOSITION": "Ištrinti balso išdėstymą",
+		"VAT": "PVM",
+		"COMPANYID": "Įmonės ID",
+		"WEBSITE": "Interneto svetainė",
+		"EMAIL_DOMAIN": "El. pašto domenas",
+		"ADDRESS": "Adresas",
+		"POSTAL_CODE": "Pašto kodas",
+		"SHIPMENTADDRESS": "Siuntos adresas",
+		"COPY_CONTACT": "Kopijuoti kontaktą",
+		"GOTOCONTACTS_LIST": "Rodyti kontaktus",
+		"GOTOCONTACTS_COMPANY": "Rodyti kontaktus",
+		"ADD_AGENT_TO_LIST": "Pridėti agentą į sąrašą",
+		"AGENTADD_LIST": "Pridėti agentus į sąrašą",
+		"NO_AVAILABLE_INFO": "Nėra informacijos",
+		"NONE": "Nė vienas",
+		"ALL": "Visi",
+		"FULLNAME": "Vardas pavardė",
+		"CHECK_DUPLICATES": "Tikrinti dublikatus",
+		"DUPLICATES": "Dublikatai",
+		"UPLOAD_CSV": "Įkelti CSV",
+		"TAG": "Žymė",
+		"UPLOAD": "Įkelti",
+		"ALL_AGENTS": "Visi agentai",
+		"SELECTED_AGENTS": "Pasirinkti agentai",
+		"DATE_OF_BIRTH": "Gimimo data",
+		"DATEOFBIRTH": "Gimimo data",
+		"NOTES": "Pastabos",
+		"EXPORTCSVCONTACTS_LIST": "Eksportuoti į CSV",
+		"GOTO_LIST": "Rodyti kontaktus",
+		"GOTO_COMPANY": "Rodyti kontaktus",
+		"REQUIRED": "Privaloma",
+		"GLOBALCUSTOMFIELDS": "Bendri pasirinktiniai laukai",
+		"NEW_GLOBALCUSTOMFIELD": "Nauji pasirinktiniai laukai",
+		"ADD_GLOBALCUSTOMFIELD": "Pridėti pasirinktinį lauką",
+		"EDIT_GLOBALCUSTOMFIELD": "Redaguoti pasirinktinį lauką",
+		"DELETE_GLOBALCUSTOMFIELD": "Ištrinti pasirinktinį lauką",
+		"JSCRIPTY": "Jscripty",
+		"SESSIONS": "Sesijos",
+		"AGENT": "Agentas",
+		"PROJECT": "Projektas",
+		"SELECT_LIST": "Pasirinkti sąrašą",
+		"SELECT_COMPANY": "Pasirinkti įmonę",
+		"SELECT_TAGS": "Pasirinkti vieną ar daugiau žymų",
+		"HELP": {
+			"PHONEBAR_API_MESSAGE": "Norėdami įjungti „skambinti spustelėjus“, įterpkite telefono numerį ir patikrinkite, ar įjungtas agento nuotolinio valdymo perjungimas",
+			"PHONEBAR_API": "Norėdami įjungti „skambinti spustelėjus“, įterpkite telefono numerį ir \npatikrinkite, ar įjungtas agento nuotolinio valdymo perjungimas"
+		},
+		"PAGE": "Puslapis",
+		"ROWSPERPAGE": "Eilutės puslapyje",
+		"OF": "Iš",
+		"SOCIAL": "Socialinis",
+		"ROW": "Eilutė",
+		"EXPORT_ERRORS": "Eksportavimo klaidos",
+		"UPLOAD_COMPLETED": "Įkėlimas baigtas",
+		"STOP": "Sustabdyti",
+		"SELECT_FILE": "Pasirinkti failą",
+		"BILLINGINFORMATION": "Atsiskaitymo informacija",
+		"FLATDISCOUNT": "Įmonės nuolaida",
+		"EUROPE": "Europa",
+		"ISOCODE": "ISO nacionalinis kodas",
+		"VATNUMBER_CF": "Fiskalinis kodas/PVM",
+		"PIVA": "PVM numeris",
+		"SDICODE": "SDI kodas",
+		"EXPIREDAY": "Galiojimo dienos",
+		"INVOICEARTICLE": "Įstatymo straipsniai",
+		"PAYMENTMETHOD": "Mokėjimo būdas",
+		"SOCIAL_CAPITAL": "Akcinis kapitalas",
+		"COMPANY_FISCAL_TYPE": "Įmonės fiskalinis tipas",
+		"RELATIONSHIP": "Santykis ...",
+		"RELATIONSHIPCOMPANY": " ... su",
+		"CREATE": "Sukurti",
+		"RECALLME": "Prisimink mane"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/dashboards/i18n/cs.json b/public/app/main/apps/dashboards/i18n/cs.json
new file mode 100644
index 0000000..5f88a45
--- /dev/null
+++ b/public/app/main/apps/dashboards/i18n/cs.json
@@ -0,0 +1,552 @@
+{
+	"DASHBOARDS": {
+		"DOWNLOAD": "Download",
+		"UNMANAGED_RATE": "Unmanaged Rate",
+		"UNMANAGED_RATE_TEXT": "Interactions Unmanaged Rate",
+		"VOICE_WAITING": "WAITING",
+		"VOICE_WAITING_TEXT": "WAITING QUEUE CALLS",
+		"VOICE_TALKING": "TALKING",
+		"VOICE_TALKING_TEXT": "ACTIVE QUEUE CALLS",
+		"VOICE_ANSWERED": "ANSWERED",
+		"VOICE_ANSWERED_TEXT": "ANSWERED QUEUE CALLS",
+		"VOICE_ABANDONED": "ABANDONED",
+		"VOICE_ABANDONED_TEXT": "ABANDONED QUEUE CALLS",
+		"VOICE_TOTAL_OFFERED": "TOTAL OFFERED",
+		"VOICE_TOTAL_OFFERED_TEXT": "TOTAL QUEUE CALLS",
+		"TODAY_INTERACTIONS_STATS": "Interactions Daily Stats",
+		"VOICE_AVG_HOLD_TIME": "AVERAGE HOLD TIME",
+		"VOICE_AVG_HOLD_TIME_TEXT": "QUEUE CALLS AVG HOLD TIME",
+		"VOICE_AVG_TALK_TIME": "AVERAGE TALK TIME",
+		"VOICE_AVG_TALK_TIME_TEXT": "QUEUE CALLS TALK TIME",
+		"VOICE_ANSWER_RATE": "ANSWER RATE",
+		"VOICE_ANSWER_RATE_TEXT": "QUEUE CALLS ANSWER RATE",
+		"VOICE_ABANDON_RATE": "ABANDON RATE",
+		"VOICE_ABANDON_RATE_TEXT": "QUEUE CALLS ABANDON RATE",
+		"VOICE_UNMANAGED": "UNMANAGED",
+		"VOICE_UNMANAGED_TEXT": "UNMANAGED QUEUE CALLS",
+		"OPENED_TEXT": "Opened Interactions",
+		"MANAGED": "Managed",
+		"MANAGED_TEXT": "Managed Interactions",
+		"ABANDONED": "Abandoned",
+		"ABANDONED_TEXT": "Abandoned Interactions",
+		"ABANDONED_RATE": "Abandoned Rate",
+		"ABANDONED_RATE_TEXT": "Interactions Abandon Rate",
+		"TOTAL_OFFERED": "Total Offered",
+		"TOTAL_OFFERED_TEXT": "Offered Interactions",
+		"AVG_HOLD_TIME_TEXT": "Interactions AVG Hold Time",
+		"MANAGED_RATE": "Managed Rate",
+		"MANAGED_RATE_TEXT": "Interactions Managed Rate ",
+		"AVG_MANAGED_TIME": "AVG Management Time",
+		"AVG_MANAGED_TIME_TEXT": "Interactions AVG Management Time",
+		"NO_DISPOSITION_SET": "No disposition set",
+		"AGENTS": "Agents",
+		"TRANSFER": "Transfer",
+		"NO_DATA_AVAILABLE": "No data available",
+		"CUSTOMER_JOURNEY": "Customer Journey",
+		"ME": "Me",
+		"CURRENTLY_IN_USE_BY": "Currently in use by",
+		"NOTAVAILABLE": "Not available",
+		"CLICKRELOAD": "New abandoned calls! Reload please",
+		"ASSIGNTO": "Assign to",
+		"SELECT_CAMPAIGN": "Select a Queue",
+		"FREE": "Free",
+		"RESERVED": "Reserved",
+		"QUEUECALLEREXITREASON": "Reason",
+		"QUEUECALLEREXITAT": "Dropped",
+		"LASTASSIGNEDTO": "Last Assigned To",
+		"ABANDONEDQUEUECALLS": "Abandoned Queue Calls",
+		"ABANDONAT": "Abandoned",
+		"QUEUE": "Queue",
+		"SELECT_SUBSTATUS": "Select Substatus",
+		"READ": "Read",
+		"UNREAD": "Unread",
+		"SELECT_READ_UNREAD": "Select Read/Unread",
+		"SELECT_AGENT": "Select Agent",
+		"MARK_AS_UNREAD": "Mark as unread",
+		"FILTER_VOICE_QUEUES": "Filter Voice Queues",
+		"CHANNEL_WAITING_TEXT": "Waiting Queue Interactions",
+		"CHANNEL_QUEUE": "Queue",
+		"CHANNEL_FROM": "From",
+		"LOADING_INTERACTION": "We are loading the interaction...",
+		"JANUARY": "January",
+		"FEBRUARY": "February",
+		"MARCH": "March",
+		"APRIL": "April",
+		"MAY": "May",
+		"JUNE": "June",
+		"JULY": "July",
+		"AUGUST": "August",
+		"SEPTEMBER": "September",
+		"OCTOBER": "October",
+		"NOVEMBER": "November",
+		"DECEMBER": "December",
+		"MON": "Mon",
+		"TUE": "Tue",
+		"WED": "Wed",
+		"THU": "Thu",
+		"FRI": "Fri",
+		"SAT": "Sat",
+		"SUN": "Sun",
+		"DELETE": "Delete",
+		"LAST_3_DAYS": "Last 3 Day",
+		"LAST_YEAR": "Last Year",
+		"THIS_YEAR": "This Year",
+		"LAST_MONTH": "Last Month",
+		"THIS_MONTH": "This Month",
+		"LAST_WEEK": "Last Week",
+		"THIS_WEEK": "This Week",
+		"YESTERDAY": "Yesterday",
+		"TODAY": "Today",
+		"SELECT_DATE": "Select Start Date",
+		"HOME": "Home",
+		"SET_AS": "Set As",
+		"PENDING": "Pending",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"TAGS": "Tags",
+		"SELECT_TAG": "Select Tag",
+		"TYPE": "Type",
+		"SOURCE": "Source",
+		"DESTINATION": "Destination",
+		"CALLERID": "Caller ID",
+		"END_AT": "End At",
+		"DURATION": "Duration",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"NOT_ASSIGNED": "Not Assigned",
+		"UNKNOWN": "Unknown",
+		"SELECT_USER": "Select User",
+		"LAST_MESSAGE": "Last message",
+		"USER": "User",
+		"RATING": "Rating",
+		"FEEDBACK": "Feedback",
+		"SUBJECT": "Subject",
+		"CUSTOMER_IP": "Customer IP",
+		"REFERER": "Referer",
+		"ACCOUNT": "Account",
+		"WEBSITE": "Website",
+		"AGENT": "Agent",
+		"CREATED_AT": "Created At",
+		"CLOSED_AT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"CONTACT": "Contact",
+		"INTERACTION": "Interaction",
+		"BROWSER_NAME": "Browser Name",
+		"BROWSER_VERSION": "Browser Version",
+		"OS_NAME": "Operating System Name",
+		"OS_VERSION": "Operating System Version",
+		"DEVICE_MODEL": "Device Model",
+		"DEVICE_VENDOR": "Device Vendor",
+		"DEVICE_TYPE": "Device Type",
+		"RECALLME": "Recall Me",
+		"DROP_RATE": "Drop Rate",
+		"DROPPED": "Dropped",
+		"DROPPED_TEXT": "Dropped Queue Calls",
+		"DETAIL": "Detail",
+		"MOTION_BULL": "Motion Bull",
+		"LIMITED": "Limited",
+		"LIMITED_TEXT": "IVR Campaigns Calls Originated/Limit",
+		"DASHBOARDS": "Dashboards",
+		"RECORDINGS": "Recordings",
+		"TODAY_MOTION_BULL_STATS": "Queue Campaigns Daily Stats",
+		"ORIGINATED": "Originated",
+		"ORIGINATED_TEXT": "Queue Calls Originated",
+		"UPDATE": "Update",
+		"MORE": "More",
+		"MOTIONDIALER": "Motion Bull",
+		"DISPOSE": "Dispose",
+		"QUEUES": "Queues",
+		"DIALER_CALL": "Dialer Call",
+		"ELAPSED_TIME": "Elapsed Time",
+		"EDIT": "Edit",
+		"MERGE": "Merge",
+		"DUPLICATE": "Duplicate",
+		"UNIQUEID": "Uniqueid",
+		"CAMPAIGN": "Campaign",
+		"NONE": "None",
+		"NAME": "Name",
+		"ANSWER_MACHINE": "Answer Machine",
+		"INTERESTED": "Interested",
+		"NOT_INTERESTED": "Not Interested",
+		"PERSONAL_INFO": "Personal Info",
+		"SOLD": "Sold",
+		"SPECIAL": "Special",
+		"BLACKLIST": "Blacklist",
+		"RESCHEDULE": "Reschedule",
+		"FIRSTNAME": "Firstname",
+		"LASTNAME": "Lastname",
+		"MOBILE": "Mobile",
+		"DATE_OF_BIRTH": "Birthdate",
+		"COMPANY": "Company",
+		"TAG": "Tag",
+		"COUNTRY": "Country",
+		"CITY": "City",
+		"STREET": "Street",
+		"POSTALCODE": "Postal Code",
+		"CUSTOM_FIELDS": "Custom Fields",
+		"GENERAL": "General",
+		"VOICE": "Voice",
+		"TODAY_IVR_CAMPAIGNS_STATS": "Daily Ivr Campaigns Stats",
+		"TODAY_INBOUND_STATS": "Inbound Queue Daily Stats",
+		"TODAY_OUTBOUND_STATS": "Outbound Daily Stats",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"INBOUND_ANSWERED": "Answered",
+		"OUTBOUND_ANSWERED": "Answered",
+		"AVG_HOLD_TIME": "Average Hold Time",
+		"INBOUND_ANSWER_RATE": "Answer Rate",
+		"OUTBOUND_ANSWER_RATE": "Answer Rate",
+		"ABANDON_RATE": "Abandon Rate",
+		"UNMANAGED": "Unmanaged",
+		"TOTAL": "Total",
+		"TOT_DURATION": "Total Duration",
+		"AVG_DURATION": "Average Duration",
+		"HELP": {
+			"UNMANAGED_RATE": "The Unmanaged Rate of all the Interactions",
+			"WAITING": "The total number of Waiting Interactions",
+			"OPENED": "The total number of Active Interactions",
+			"MANAGED": "The total number of Completed Interactions",
+			"ABANDONED": "The total number of Abandoned Interactions",
+			"TOTAL_OFFERED": "The total number of Interactions (completed + abandoned)",
+			"AVG_HOLD_TIME": "The Average Interaction Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Interactions",
+			"AVG_MANAGED_TIME": "The Average Interaction Managed Time, namely the average time spent during conversation",
+			"MANAGED_RATE": "The Managed Rate of all the Interactions",
+			"ABANDONED_RATE": "The Abandon Rate of all the Interactions",
+			"UNMANAGED": "The total number of Unmanaged Interactions",
+			"VOICE_WAITING": "The total number of Waiting Queue Calls, for all the existing Queues",
+			"VOICE_TALKING": "The total number of Active Queue Calls, for all the existing Queues",
+			"VOICE_ANSWERED": "The total number of Completed Queue Calls, for all the existing Queues",
+			"VOICE_ABANDONED": "The total number of Abandoned Queue Calls, considering all the existing Queues. Note that the calls which are abandoned for timeout and joinempty will not be considered",
+			"VOICE_TOTAL_OFFERED": "The total number of Queue Calls (completed + abandoned). Note that the calls which enter in an IVR and not in a queue, will not be considered",
+			"VOICE_AVG_TALK_TIME": "The Average Queue Talk Time, namely the average time spent during conversation, for all the existing Queues",
+			"VOICE_AVG_HOLD_TIME": "The Average Queue Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Queues",
+			"VOICE_ANSWER_RATE": "The Answer Rate of all the Queue Calls",
+			"VOICE_UNMANAGED": "The total number of Unmanaged Queue Calls, for all the existing Queues. It includes the calls which are abandoned for timeout, joinempty, leavewhenempty and exitwithkey (cfr. asterisk doc for more information)",
+			"ORIGINATED": "Total number of calls dialed in the queue campaigns",
+			"ORIGINATEDLIMITED": "IVR Campaigns Calls Originated/Limit",
+			"DROPPED": "The total number of Dropped Queue Calls, for all the existing Queues",
+			"DROP_RATE": "The Drop Rate of all the Queue Calls",
+			"OUTBOUND_ANSWERED": "The total number of Completed Outbound Calls",
+			"OUTBOUND_ANSWER_RATE": "The Answer Rate of all the Outbound Calls",
+			"ABANDON_RATE": "The Abandon Rate of all the Queue Calls",
+			"TOTAL": "The total number of Outbound Calls",
+			"TOT_DURATION": "The total duration of all the Outbound Calls",
+			"AVG_DURATION": "The average duration of all the Completed Outbound Calls",
+			"EXACT_MATCH_FILTER": "Vyhledejte přesnou shodu",
+			"LIKE_FILTER": "Vyhledejte určený vzor",
+			"MANDATORY_DISPOSITION_ENABLED": "Pro tento účet byla povolena povinná dispozice"
+		},
+		"ERRORS": {
+			"FIRSTNAME_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"DISPOSITION_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"CAMPAIGN_REQUIRED": "Povinné pole"
+		},
+		"NO_AVAILABLE_INFO": "No available info",
+		"WELCOME_TO_MOTION": "Welcome to Motion",
+		"WELCOME_MESSAGE": "Use the left sidebar to navigate through available sections",
+		"ADD": "Add",
+		"CONTACTMANAGER": "Contact Manager",
+		"DASHBOARD": "Dashboard",
+		"EDIT_CONTACT": "Edit contact",
+		"EMAIL": "Email",
+		"FULLNAME": "Fullname",
+		"LIST": "List",
+		"NEW_CONTACT": "New Contact",
+		"PHONE": "Phone",
+		"SAVE": "Save",
+		"INBOUND_WAITING_CALLS": "Inbound Waiting Calls",
+		"CONTACTS": "Contacts",
+		"MYCONTACTS": "My Contacts",
+		"ADD_CONTACT": "Add Contact",
+		"RELOAD": "Reload",
+		"WAITING_TEXT": "Waiting Interactions",
+		"TALKING_TEXT": "Active Queue Calls",
+		"INBOUND_ANSWERED_TEXT": "Answered Queue Calls",
+		"DROP_RATE_TEXT": "Queue Calls Drop Rate",
+		"AVG_TALK_TIME_TEXT": "Queue Calls Talk Time",
+		"INBOUND_ANSWER_RATE_TEXT": "Queue Calls Answer Rate",
+		"UNMANAGED_TEXT": "Unmanaged Interactions",
+		"TOTAL_TEXT": "Total Outbound Calls",
+		"OUTBOUND_ANSWERED_TEXT": "Outbound Answered Calls",
+		"TOT_DURATION_TEXT": "Outbound Calls Total Duration",
+		"AVG_DURATION_TEXT": "Outbound Calls Average Duration",
+		"OUTBOUND_ANSWER_RATE_TEXT": "Outbound calls Answer Rate",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"REPLY_PLACEHOLDER": "Type and hit enter to send a message",
+		"CONTACT_INFO": "Contact Info",
+		"CLOSE_AND_DISPOSE": "Close and dispose",
+		"DISPOSITIONS": "Dispositions",
+		"CLOSE_WITHOUT_DISPOSE": "Close without dispose",
+		"ACCEPT": "Accept",
+		"REJECT": "Reject",
+		"CLOSED": "Closed",
+		"INFO": "Info",
+		"NOTE": "Note",
+		"ACCEPT_ELSEWHERE": "Accepted elsewhere",
+		"ATTENTION": "Attention",
+		"SOCIAL": "Social",
+		"NO_JSCRIPTY_PROJECTS_AVAILABLE": "No Jscripty Projects available",
+		"OPENED": "Opened",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select Status",
+		"SELECT_ACCOUNT": "Select Account",
+		"SELECT_WEBSITE": "Select Website",
+		"ALL": "All",
+		"INTERACTIONS": "Interactions",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"OPEN": "Open",
+		"SHOW": "Show",
+		"SHOW_DETAILS": "Show Details",
+		"HIDE_DETAILS": "Hide Details",
+		"EXTERNAL_URL": "External Link",
+		"NO_MAIL_ACCOUNTS_AVAILABLE": "No Email Accounts available",
+		"NO_FAX_ACCOUNTS_AVAILABLE": "No Fax Accounts available",
+		"NO_SMS_ACCOUNTS_AVAILABLE": "No SMS Accounts available",
+		"SELECT_DATE_RANGE": "Select Date Range",
+		"CLEAR": "Clear",
+		"CALL_NUMBER": "Call",
+		"TRANSFER_NUMBER": "Transfer",
+		"CALL_SAVED": "Call properly saved",
+		"CALL_DISPOSED": "Call properly disposed",
+		"ACCOUNTINGDOC": "Účetnictví",
+		"ADD_PRODUCTPRICELIST": "PŘIDAT PRODUKT",
+		"ADVANCED_SEARCH": "pokročilé vyhledávání",
+		"AGENTFULLNAME": "Činidlo",
+		"ALL_COMPANIES": "Všechny společnosti",
+		"ALL_PRODUCTS": "Všechno",
+		"ALL_STATUS": "Všechno",
+		"ALL_STEP": "Všechno",
+		"ALL_WORKFLOW": "Celý pracovní postup",
+		"AND": "A",
+		"APPLY": "Aplikovat",
+		"ASSIGNED_TO_OTHERS": "Přiřazeno ostatním",
+		"ATTENDACELASTINVOICE": "Poslední faktura",
+		"ATTENDACENEXTINVOICE": "Další faktura",
+		"AUTHORIZED": "AUTORIZOVANÝ",
+		"AUTOINVOICE": "SAMOSTATNÁ FAKTURA",
+		"AUTOPROFORMA": "SELF-PROFORMA",
+		"BALANCE": "ZŮSTATEK",
+		"BY": "Podle",
+		"CANCEL": "zrušení",
+		"CHAT_INTERACTIONS": "Interakce chatu",
+		"CHOOSE": "Vybrat",
+		"CLONEPROFORMA": "Klonovat",
+		"COMPANIES": "Společnosti",
+		"COMPANYCITY": "Město",
+		"COMPANYCOUNTRY": "Země",
+		"COMPANYDESC": "Popis",
+		"COMPANYEMAIL": "E-mailem",
+		"COMPANYFAX": "Fax",
+		"COMPANYNAME": "Společnost",
+		"COMPANYNATION": "Národ",
+		"COMPANYPHONE": "Telefon",
+		"COMPANYPOSTALCODE": "poštovní směrovací číslo",
+		"COMPANYSTREET": "Adresa",
+		"COMPANYVAT": "Fiskální kód / DPH",
+		"CONTAINS": "Obsahuje",
+		"CREATIONDATE": "Vytvořeno v",
+		"CREDITINOTENAME": "název",
+		"CREDITNOTE": "DOBROPIS",
+		"CREDITNOTEDETAILS": "Detail dobropisu",
+		"CREDITNOTE_INFO": "Dobropis",
+		"CUSTOMER_PORT": "Původní port TCP",
+		"DELETE_PRODUCT": "Smazat produkt",
+		"DEPOSIT": "VKLAD",
+		"DETAILS": "Podrobnosti",
+		"DISABLED": "Zakázáno",
+		"DISCOUNT": "Sleva",
+		"DOSSIER": "Dokumentace",
+		"DOSSIERID": "ID dokumentace",
+		"DOSSIERNAME": "Název dokumentace",
+		"DOSSIERNOTES": "Poznámka",
+		"DOSSIERS": "Dokumentace",
+		"DOSSIER_INFO": "Informace",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Stahujte bez příloh",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Stáhnout s přílohami",
+		"DRAFT": "Návrh",
+		"DRAFT_SAVE_WARNING_MESSAGE": "Pro tuto interakci již existuje koncept. Opravdu ji chcete přepsat?",
+		"DRAFT_SAVE_WARNING_TITLE": "Přepsat existující koncept?",
+		"ENABLED": "Povoleno",
+		"ENDDATE": "Datum vypršení platnosti",
+		"ENDING_DATE": "Datum ukončení",
+		"ENDING_VALUE": "Konečná hodnota",
+		"ENDS_WITH": "Končí s",
+		"EQUALS": "Se rovná",
+		"FAX_INTERACTIONS": "Interakce s faxem",
+		"FROM": "Z",
+		"GRAPHINVOICES": "Emisní graf faktury",
+		"ID": "Id",
+		"INASSET": "Aktivum",
+		"INTERACTION_CLOSED": "Interakce správně uzavřena",
+		"INTERACTION_CLOSED_DISPOSED": "Interakce správně uzavřena a zlikvidována",
+		"INTERACTION_DISPOSED": "Interakce správně likvidována",
+		"INVOICE": "FAKTURA",
+		"INVOICEDETAILS": "DETAILY FAKTURY",
+		"INVOICEDISCOUNT": "Sleva",
+		"INVOICEEMITED": "Vydáno",
+		"INVOICEID": "Faktura",
+		"INVOICENAME": "Název faktury",
+		"INVOICENOPRODUCTAMOUNT": "Množství",
+		"INVOICENOPRODUCTDESCRIPTION": "Popis na faktuře",
+		"INVOICENOPRODUCTSAVE": "Uložit",
+		"INVOICENOPRODUCTUPDATE": "Aktualizace",
+		"INVOICENOTAXAMOUNT": "DAŇ",
+		"INVOICENOTES": "Poznámka",
+		"INVOICEPAYED": "Zaplaceno",
+		"INVOICES": "FAKTURY",
+		"INVOICESTATUS": "Stát",
+		"INVOICETOTAL": "Celkový",
+		"INVOICE_INFO": "Faktura",
+		"IS_AMONG": "Je mezi",
+		"IS_BETWEEN": "Je mezi",
+		"IS_GREATER_THAN": "Je větší než",
+		"IS_GREATER_THAN_OR_EQUAL_TO": "Je větší nebo rovno",
+		"IS_LESS_THAN": "Je méně než",
+		"IS_LESS_THAN_OR_EQUAL_TO": "Je menší nebo rovno",
+		"IS_NOT_AMONG": "Není mezi",
+		"IS_NOT_EQUAL": "Nerovná se",
+		"MAIL_INTERACTIONS": "E-mailové interakce",
+		"MANAGESALES": "Předplatné",
+		"MEET_ALL_CONDITIONS": "Splňte všechny podmínky",
+		"MEET_ANY_CONDITIONS": "Splňte alespoň jednu podmínku",
+		"MOVEASSET": "AKTIVUM",
+		"MOVECREDITNOTE": "SAMOSTATNÝ ÚVĚROVÝ POZNÁMKA",
+		"NETPRICE": "Cena",
+		"NEW_COMPANY": "Nový",
+		"NEW_CONDITION": "nová podmínka",
+		"NEW_DOSSIER": "Nová dokumentace",
+		"NEXTINVOICE": "Další faktura",
+		"NOTES": "Poznámka",
+		"NO_AVAILABLE_INTERACTION": "Žádná dostupná interakce",
+		"NO_PRODUCTINVOICE_AVAILABLE": "Žádný produkt",
+		"NO_PRODUCTPRICELIST_AVAILABLE": "Nejsou k dispozici žádná data",
+		"NO_PRODUCTPROFORMA_AVAILABLE": "Nejsou k dispozici žádná data",
+		"NUMBER": "Číslo",
+		"OPENCHANNEL_INTERACTIONS": "Otevřené interakce kanálu",
+		"OPENDATE": "Datum otevření",
+		"ORDER": "Objednat",
+		"ORDERCLIENTCODE": "Zákaznický kód",
+		"ORDERID": "Objednat",
+		"ORDERNOTES": "Poznámka",
+		"ORDERSTATUS": "Stát",
+		"ORDER_INFO": "Objednat",
+		"OVERWRITE": "Přepsat",
+		"PAIDANDEXPIRED": "Způsob platby",
+		"PAYED_AY": "Zaplaceno",
+		"PAYMENT": "Způsob platby",
+		"PAYMENTMETHOD": "Platební metody",
+		"PAYMENTS": "PLATBY",
+		"PAYMENT_INFO": "Informace o platbě",
+		"PDFCREDITNOTE": "PDF",
+		"PDFINVOICE": "PDF",
+		"PDFPROFORMA": "PDF",
+		"PRICELIST": "Ceník",
+		"PRICELISTDISCOUNT": "Sleva z ceníku",
+		"PRICELISTNAME": "Ceník",
+		"PRICELISTNETPRICE": "Čistá cena",
+		"PRICESALELISTNETPRICE": "Prezzo listino",
+		"PRIVATE": "Soukromé",
+		"PRODUCTATUNIT": "Jednotka",
+		"PRODUCTCODE": "Kód produktu",
+		"PRODUCTDESCRIPTION": "Popis",
+		"PRODUCTFILTERNAME": "Název filtru",
+		"PRODUCTININVOICE": "Výrobky na faktuře",
+		"PRODUCTINPROFORMA": "Výrobky v proformě",
+		"PRODUCTINQUOTATION": "DETAILY PRODUKTU",
+		"PRODUCTNAME": "Produkt",
+		"PRODUCTNOTE": "Poznámka",
+		"PRODUCTPRICE": "Cena",
+		"PRODUCTQTY": "Množství",
+		"PRODUCTS": "PRODUKTY",
+		"PRODUCTSUBSCRIPTION": "Doba trvání",
+		"PRODUCTTAX": "Procento daně",
+		"PRODUCTTYPE": "Typ",
+		"PROFORMA": "PROFORMA",
+		"PROFORMAAUTHORIZED": "Schválený proforma",
+		"PROFORMADETAILS": "Podrobnosti",
+		"PROFORMAID": "Id Proforma",
+		"PROFORMANAME": "Proforma jméno",
+		"PROFORMANOTES": "Poznámka",
+		"PROFORMAS": "PROFORMA",
+		"PROFORMASTATUS": "Stát",
+		"PROFORMA_INFO": "Proforma",
+		"PUBLIC": "Veřejnost",
+		"PUBLIC_INTERACTION": "Interakce je veřejná",
+		"QUANTITY": "Množství",
+		"QUOTATION": "CITÁT",
+		"QUOTATIONDISCOUNT": "Sleva na nabídku",
+		"QUOTATIONID": "Nabídka",
+		"QUOTATIONINVOICEID": "ID faktury",
+		"QUOTATIONNAME": "Název nabídky",
+		"QUOTATIONNOTES": "Citace Poznámky",
+		"QUOTATIONPRODUCTNOTE": "Poznámka k produktu",
+		"QUOTATIONPRODUCTTYPE": "Typ",
+		"QUOTATIONPROFORMAID": "Proforma ID",
+		"QUOTATIONQTY": "Množství",
+		"QUOTATIONSTATUS": "Stát",
+		"QUOTATIONSUBSCRIPTION": "Doba trvání",
+		"QUOTATIONTAX": "Daň",
+		"QUOTATIONTOTAL": "CELKOVÝ",
+		"QUOTATIONTOTALPRICE": "Celkem čisté",
+		"QUOTATIONTOTALS": "Celkový",
+		"QUOTATIONTOTALTAX": "Celková daň",
+		"QUOTATIONUNIT": "Jednotka",
+		"QUOTATIONVAT": "káď",
+		"QUOTATION_INFO": "Citát",
+		"REQUEST": "ŽÁDOST",
+		"REQUESTID": "Žádost",
+		"REQUESTNAME": "Název požadavku",
+		"REQUESTNOTES": "Vyžádejte si poznámky",
+		"REQUEST_INFO": "Žádost",
+		"SAVE_AS_DRAFT": "Uložit jako koncept",
+		"SCHEDULED_CALLS": "Naplánovaná volání",
+		"SELECT_ALL": "Vybrat vše",
+		"SELECT_COMPANY": "Vyberte společnost",
+		"SELECT_FIELD": "Vyberte pole",
+		"SELECT_OPERATOR": "Vyberte operátora",
+		"SELECT_PERIOD": "Vyberte rozsah",
+		"SELECT_PERIOD_CREATION": "Vyberte datum vytvoření",
+		"SELECT_PERIOD_EXPIRE": "Vyberte datum vypršení platnosti",
+		"SELECT_PERIOD_START": "Vyberte datum",
+		"SELECT_PRODUCT": "Vyberte produkt",
+		"SELECT_PRODUCTTYPE": "Vyberte typ",
+		"SELECT_QUEUE": "Vyberte frontu",
+		"SELECT_WORKFLOW": "Vyberte Workflow",
+		"SELECT_WORKFLOWSTEPS": "Vyberte stav pracovního postupu",
+		"SMS_INTERACTIONS": "SMS interakce",
+		"STARTDATE": "Datum faktury",
+		"STARTING_DATE": "Počáteční datum",
+		"STARTING_VALUE": "Počáteční hodnota",
+		"STARTS_WITH": "Začíná s",
+		"STATE": "Stát",
+		"STEP": "Krok",
+		"SUBSCRIPTIONDETAIL": "Detail",
+		"SUBSCRIPTIONNAME": "Předplatné",
+		"SUBSCRIPTIONS": "PROGRAM ZÁKAZNÍKŮ",
+		"TAX": "Daň",
+		"TO": "Na",
+		"TOTALPAYMENTS": "Celkové platby",
+		"UNTITLED": "Nepojmenovaná",
+		"UPDATED_AT": "Upraveno dne",
+		"UPDATE_DRAFT": "Aktualizovat koncept",
+		"UPDATE_PRODUCT": "Aktualizujte produkt",
+		"VALUE": "Hodnota",
+		"VALUES": "Hodnoty",
+		"VALUE_RANGE_CHECK": "Hodnota musí být větší než",
+		"VIDAOOSESSION": "Zahajte videohovor",
+		"VISIBILITY": "Viditelnost",
+		"WHATSAPP": "WhatsApp Connector",
+		"WHATSAPP_INTERACTIONS": "Interakce WhatsApp Connector",
+		"WORKFLOW": "Vyberte Workflow",
+		"YEARS": "Roky"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/dashboards/i18n/et.json b/public/app/main/apps/dashboards/i18n/et.json
new file mode 100644
index 0000000..3644515
--- /dev/null
+++ b/public/app/main/apps/dashboards/i18n/et.json
@@ -0,0 +1,552 @@
+{
+	"DASHBOARDS": {
+		"DOWNLOAD": "Download",
+		"UNMANAGED_RATE": "Unmanaged Rate",
+		"UNMANAGED_RATE_TEXT": "Interactions Unmanaged Rate",
+		"VOICE_WAITING": "WAITING",
+		"VOICE_WAITING_TEXT": "WAITING QUEUE CALLS",
+		"VOICE_TALKING": "TALKING",
+		"VOICE_TALKING_TEXT": "ACTIVE QUEUE CALLS",
+		"VOICE_ANSWERED": "ANSWERED",
+		"VOICE_ANSWERED_TEXT": "ANSWERED QUEUE CALLS",
+		"VOICE_ABANDONED": "ABANDONED",
+		"VOICE_ABANDONED_TEXT": "ABANDONED QUEUE CALLS",
+		"VOICE_TOTAL_OFFERED": "TOTAL OFFERED",
+		"VOICE_TOTAL_OFFERED_TEXT": "TOTAL QUEUE CALLS",
+		"TODAY_INTERACTIONS_STATS": "Interactions Daily Stats",
+		"VOICE_AVG_HOLD_TIME": "AVERAGE HOLD TIME",
+		"VOICE_AVG_HOLD_TIME_TEXT": "QUEUE CALLS AVG HOLD TIME",
+		"VOICE_AVG_TALK_TIME": "AVERAGE TALK TIME",
+		"VOICE_AVG_TALK_TIME_TEXT": "QUEUE CALLS TALK TIME",
+		"VOICE_ANSWER_RATE": "ANSWER RATE",
+		"VOICE_ANSWER_RATE_TEXT": "QUEUE CALLS ANSWER RATE",
+		"VOICE_ABANDON_RATE": "ABANDON RATE",
+		"VOICE_ABANDON_RATE_TEXT": "QUEUE CALLS ABANDON RATE",
+		"VOICE_UNMANAGED": "UNMANAGED",
+		"VOICE_UNMANAGED_TEXT": "UNMANAGED QUEUE CALLS",
+		"OPENED_TEXT": "Opened Interactions",
+		"MANAGED": "Managed",
+		"MANAGED_TEXT": "Managed Interactions",
+		"ABANDONED": "Abandoned",
+		"ABANDONED_TEXT": "Abandoned Interactions",
+		"ABANDONED_RATE": "Abandoned Rate",
+		"ABANDONED_RATE_TEXT": "Interactions Abandon Rate",
+		"TOTAL_OFFERED": "Total Offered",
+		"TOTAL_OFFERED_TEXT": "Offered Interactions",
+		"AVG_HOLD_TIME_TEXT": "Interactions AVG Hold Time",
+		"MANAGED_RATE": "Managed Rate",
+		"MANAGED_RATE_TEXT": "Interactions Managed Rate ",
+		"AVG_MANAGED_TIME": "AVG Management Time",
+		"AVG_MANAGED_TIME_TEXT": "Interactions AVG Management Time",
+		"NO_DISPOSITION_SET": "No disposition set",
+		"AGENTS": "Agents",
+		"TRANSFER": "Transfer",
+		"NO_DATA_AVAILABLE": "No data available",
+		"CUSTOMER_JOURNEY": "Customer Journey",
+		"ME": "Me",
+		"CURRENTLY_IN_USE_BY": "Currently in use by",
+		"NOTAVAILABLE": "Not available",
+		"CLICKRELOAD": "New abandoned calls! Reload please",
+		"ASSIGNTO": "Assign to",
+		"SELECT_CAMPAIGN": "Select a Queue",
+		"FREE": "Free",
+		"RESERVED": "Reserved",
+		"QUEUECALLEREXITREASON": "Reason",
+		"QUEUECALLEREXITAT": "Dropped",
+		"LASTASSIGNEDTO": "Last Assigned To",
+		"ABANDONEDQUEUECALLS": "Abandoned Queue Calls",
+		"ABANDONAT": "Abandoned",
+		"QUEUE": "Queue",
+		"SELECT_SUBSTATUS": "Select Substatus",
+		"READ": "Read",
+		"UNREAD": "Unread",
+		"SELECT_READ_UNREAD": "Select Read/Unread",
+		"SELECT_AGENT": "Select Agent",
+		"MARK_AS_UNREAD": "Mark as unread",
+		"FILTER_VOICE_QUEUES": "Filter Voice Queues",
+		"CHANNEL_WAITING_TEXT": "Waiting Queue Interactions",
+		"CHANNEL_QUEUE": "Queue",
+		"CHANNEL_FROM": "From",
+		"LOADING_INTERACTION": "We are loading the interaction...",
+		"JANUARY": "January",
+		"FEBRUARY": "February",
+		"MARCH": "March",
+		"APRIL": "April",
+		"MAY": "May",
+		"JUNE": "June",
+		"JULY": "July",
+		"AUGUST": "August",
+		"SEPTEMBER": "September",
+		"OCTOBER": "October",
+		"NOVEMBER": "November",
+		"DECEMBER": "December",
+		"MON": "Mon",
+		"TUE": "Tue",
+		"WED": "Wed",
+		"THU": "Thu",
+		"FRI": "Fri",
+		"SAT": "Sat",
+		"SUN": "Sun",
+		"DELETE": "Delete",
+		"LAST_3_DAYS": "Last 3 Day",
+		"LAST_YEAR": "Last Year",
+		"THIS_YEAR": "This Year",
+		"LAST_MONTH": "Last Month",
+		"THIS_MONTH": "This Month",
+		"LAST_WEEK": "Last Week",
+		"THIS_WEEK": "This Week",
+		"YESTERDAY": "Yesterday",
+		"TODAY": "Today",
+		"SELECT_DATE": "Select Start Date",
+		"HOME": "Home",
+		"SET_AS": "Set As",
+		"PENDING": "Pending",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"TAGS": "Tags",
+		"SELECT_TAG": "Select Tag",
+		"TYPE": "Type",
+		"SOURCE": "Source",
+		"DESTINATION": "Destination",
+		"CALLERID": "Caller ID",
+		"END_AT": "End At",
+		"DURATION": "Duration",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"NOT_ASSIGNED": "Not Assigned",
+		"UNKNOWN": "Unknown",
+		"SELECT_USER": "Select User",
+		"LAST_MESSAGE": "Last message",
+		"USER": "User",
+		"RATING": "Rating",
+		"FEEDBACK": "Feedback",
+		"SUBJECT": "Subject",
+		"CUSTOMER_IP": "Customer IP",
+		"REFERER": "Referer",
+		"ACCOUNT": "Account",
+		"WEBSITE": "Website",
+		"AGENT": "Agent",
+		"CREATED_AT": "Created At",
+		"CLOSED_AT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"CONTACT": "Contact",
+		"INTERACTION": "Interaction",
+		"BROWSER_NAME": "Browser Name",
+		"BROWSER_VERSION": "Browser Version",
+		"OS_NAME": "Operating System Name",
+		"OS_VERSION": "Operating System Version",
+		"DEVICE_MODEL": "Device Model",
+		"DEVICE_VENDOR": "Device Vendor",
+		"DEVICE_TYPE": "Device Type",
+		"RECALLME": "Recall Me",
+		"DROP_RATE": "Drop Rate",
+		"DROPPED": "Dropped",
+		"DROPPED_TEXT": "Dropped Queue Calls",
+		"DETAIL": "Detail",
+		"MOTION_BULL": "Motion Bull",
+		"LIMITED": "Limited",
+		"LIMITED_TEXT": "IVR Campaigns Calls Originated/Limit",
+		"DASHBOARDS": "Dashboards",
+		"RECORDINGS": "Recordings",
+		"TODAY_MOTION_BULL_STATS": "Queue Campaigns Daily Stats",
+		"ORIGINATED": "Originated",
+		"ORIGINATED_TEXT": "Queue Calls Originated",
+		"UPDATE": "Update",
+		"MORE": "More",
+		"MOTIONDIALER": "Motion Bull",
+		"DISPOSE": "Dispose",
+		"QUEUES": "Queues",
+		"DIALER_CALL": "Dialer Call",
+		"ELAPSED_TIME": "Elapsed Time",
+		"EDIT": "Edit",
+		"MERGE": "Merge",
+		"DUPLICATE": "Duplicate",
+		"UNIQUEID": "Uniqueid",
+		"CAMPAIGN": "Campaign",
+		"NONE": "None",
+		"NAME": "Name",
+		"ANSWER_MACHINE": "Answer Machine",
+		"INTERESTED": "Interested",
+		"NOT_INTERESTED": "Not Interested",
+		"PERSONAL_INFO": "Personal Info",
+		"SOLD": "Sold",
+		"SPECIAL": "Special",
+		"BLACKLIST": "Blacklist",
+		"RESCHEDULE": "Reschedule",
+		"FIRSTNAME": "Firstname",
+		"LASTNAME": "Lastname",
+		"MOBILE": "Mobile",
+		"DATE_OF_BIRTH": "Birthdate",
+		"COMPANY": "Company",
+		"TAG": "Tag",
+		"COUNTRY": "Country",
+		"CITY": "City",
+		"STREET": "Street",
+		"POSTALCODE": "Postal Code",
+		"CUSTOM_FIELDS": "Custom Fields",
+		"GENERAL": "General",
+		"VOICE": "Voice",
+		"TODAY_IVR_CAMPAIGNS_STATS": "Daily Ivr Campaigns Stats",
+		"TODAY_INBOUND_STATS": "Inbound Queue Daily Stats",
+		"TODAY_OUTBOUND_STATS": "Outbound Daily Stats",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"INBOUND_ANSWERED": "Answered",
+		"OUTBOUND_ANSWERED": "Answered",
+		"AVG_HOLD_TIME": "Average Hold Time",
+		"INBOUND_ANSWER_RATE": "Answer Rate",
+		"OUTBOUND_ANSWER_RATE": "Answer Rate",
+		"ABANDON_RATE": "Abandon Rate",
+		"UNMANAGED": "Unmanaged",
+		"TOTAL": "Total",
+		"TOT_DURATION": "Total Duration",
+		"AVG_DURATION": "Average Duration",
+		"HELP": {
+			"UNMANAGED_RATE": "The Unmanaged Rate of all the Interactions",
+			"WAITING": "The total number of Waiting Interactions",
+			"OPENED": "The total number of Active Interactions",
+			"MANAGED": "The total number of Completed Interactions",
+			"ABANDONED": "The total number of Abandoned Interactions",
+			"TOTAL_OFFERED": "The total number of Interactions (completed + abandoned)",
+			"AVG_HOLD_TIME": "The Average Interaction Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Interactions",
+			"AVG_MANAGED_TIME": "The Average Interaction Managed Time, namely the average time spent during conversation",
+			"MANAGED_RATE": "The Managed Rate of all the Interactions",
+			"ABANDONED_RATE": "The Abandon Rate of all the Interactions",
+			"UNMANAGED": "The total number of Unmanaged Interactions",
+			"VOICE_WAITING": "The total number of Waiting Queue Calls, for all the existing Queues",
+			"VOICE_TALKING": "The total number of Active Queue Calls, for all the existing Queues",
+			"VOICE_ANSWERED": "The total number of Completed Queue Calls, for all the existing Queues",
+			"VOICE_ABANDONED": "The total number of Abandoned Queue Calls, considering all the existing Queues. Note that the calls which are abandoned for timeout and joinempty will not be considered",
+			"VOICE_TOTAL_OFFERED": "The total number of Queue Calls (completed + abandoned). Note that the calls which enter in an IVR and not in a queue, will not be considered",
+			"VOICE_AVG_TALK_TIME": "The Average Queue Talk Time, namely the average time spent during conversation, for all the existing Queues",
+			"VOICE_AVG_HOLD_TIME": "The Average Queue Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Queues",
+			"VOICE_ANSWER_RATE": "The Answer Rate of all the Queue Calls",
+			"VOICE_UNMANAGED": "The total number of Unmanaged Queue Calls, for all the existing Queues. It includes the calls which are abandoned for timeout, joinempty, leavewhenempty and exitwithkey (cfr. asterisk doc for more information)",
+			"ORIGINATED": "Total number of calls dialed in the queue campaigns",
+			"ORIGINATEDLIMITED": "IVR Campaigns Calls Originated/Limit",
+			"DROPPED": "The total number of Dropped Queue Calls, for all the existing Queues",
+			"DROP_RATE": "The Drop Rate of all the Queue Calls",
+			"OUTBOUND_ANSWERED": "The total number of Completed Outbound Calls",
+			"OUTBOUND_ANSWER_RATE": "The Answer Rate of all the Outbound Calls",
+			"ABANDON_RATE": "The Abandon Rate of all the Queue Calls",
+			"TOTAL": "The total number of Outbound Calls",
+			"TOT_DURATION": "The total duration of all the Outbound Calls",
+			"AVG_DURATION": "The average duration of all the Completed Outbound Calls",
+			"EXACT_MATCH_FILTER": "Täpse vaste otsimine",
+			"LIKE_FILTER": "Otsige määratud mustrit",
+			"MANDATORY_DISPOSITION_ENABLED": "Selle konto jaoks on kohustuslik dispositsioon lubatud"
+		},
+		"ERRORS": {
+			"FIRSTNAME_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"DISPOSITION_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"CAMPAIGN_REQUIRED": "Kohustuslik väli"
+		},
+		"NO_AVAILABLE_INFO": "No available info",
+		"WELCOME_TO_MOTION": "Welcome to Motion",
+		"WELCOME_MESSAGE": "Use the left sidebar to navigate through available sections",
+		"ADD": "Add",
+		"CONTACTMANAGER": "Contact Manager",
+		"DASHBOARD": "Dashboard",
+		"EDIT_CONTACT": "Edit contact",
+		"EMAIL": "Email",
+		"FULLNAME": "Fullname",
+		"LIST": "List",
+		"NEW_CONTACT": "New Contact",
+		"PHONE": "Phone",
+		"SAVE": "Save",
+		"INBOUND_WAITING_CALLS": "Inbound Waiting Calls",
+		"CONTACTS": "Contacts",
+		"MYCONTACTS": "My Contacts",
+		"ADD_CONTACT": "Add Contact",
+		"RELOAD": "Reload",
+		"WAITING_TEXT": "Waiting Interactions",
+		"TALKING_TEXT": "Active Queue Calls",
+		"INBOUND_ANSWERED_TEXT": "Answered Queue Calls",
+		"DROP_RATE_TEXT": "Queue Calls Drop Rate",
+		"AVG_TALK_TIME_TEXT": "Queue Calls Talk Time",
+		"INBOUND_ANSWER_RATE_TEXT": "Queue Calls Answer Rate",
+		"UNMANAGED_TEXT": "Unmanaged Interactions",
+		"TOTAL_TEXT": "Total Outbound Calls",
+		"OUTBOUND_ANSWERED_TEXT": "Outbound Answered Calls",
+		"TOT_DURATION_TEXT": "Outbound Calls Total Duration",
+		"AVG_DURATION_TEXT": "Outbound Calls Average Duration",
+		"OUTBOUND_ANSWER_RATE_TEXT": "Outbound calls Answer Rate",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"REPLY_PLACEHOLDER": "Type and hit enter to send a message",
+		"CONTACT_INFO": "Contact Info",
+		"CLOSE_AND_DISPOSE": "Close and dispose",
+		"DISPOSITIONS": "Dispositions",
+		"CLOSE_WITHOUT_DISPOSE": "Close without dispose",
+		"ACCEPT": "Accept",
+		"REJECT": "Reject",
+		"CLOSED": "Closed",
+		"INFO": "Info",
+		"NOTE": "Note",
+		"ACCEPT_ELSEWHERE": "Accepted elsewhere",
+		"ATTENTION": "Attention",
+		"SOCIAL": "Social",
+		"NO_JSCRIPTY_PROJECTS_AVAILABLE": "No Jscripty Projects available",
+		"OPENED": "Opened",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select Status",
+		"SELECT_ACCOUNT": "Select Account",
+		"SELECT_WEBSITE": "Select Website",
+		"ALL": "All",
+		"INTERACTIONS": "Interactions",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"OPEN": "Open",
+		"SHOW": "Show",
+		"SHOW_DETAILS": "Show Details",
+		"HIDE_DETAILS": "Hide Details",
+		"EXTERNAL_URL": "External Link",
+		"NO_MAIL_ACCOUNTS_AVAILABLE": "No Email Accounts available",
+		"NO_FAX_ACCOUNTS_AVAILABLE": "No Fax Accounts available",
+		"NO_SMS_ACCOUNTS_AVAILABLE": "No SMS Accounts available",
+		"SELECT_DATE_RANGE": "Select Date Range",
+		"CLEAR": "Clear",
+		"CALL_NUMBER": "Call",
+		"TRANSFER_NUMBER": "Transfer",
+		"CALL_SAVED": "Call properly saved",
+		"CALL_DISPOSED": "Call properly disposed",
+		"ACCOUNTINGDOC": "Raamatupidamine",
+		"ADD_PRODUCTPRICELIST": "LISA TOODE",
+		"ADVANCED_SEARCH": "Täpsem otsing",
+		"AGENTFULLNAME": "Agent",
+		"ALL_COMPANIES": "Kõik ettevõtted",
+		"ALL_PRODUCTS": "Kõik",
+		"ALL_STATUS": "Kõik",
+		"ALL_STEP": "Kõik",
+		"ALL_WORKFLOW": "Kogu töökorraldus",
+		"AND": "Ja",
+		"APPLY": "Kandideeri",
+		"ASSIGNED_TO_OTHERS": "Määratud teistele",
+		"ATTENDACELASTINVOICE": "Viimane arve",
+		"ATTENDACENEXTINVOICE": "Järgmine arve",
+		"AUTHORIZED": "Lubatud",
+		"AUTOINVOICE": "FIE-ARV",
+		"AUTOPROFORMA": "ISE-PROFORMA",
+		"BALANCE": "TASAKAAL",
+		"BY": "Kõrval",
+		"CANCEL": "Tühista",
+		"CHAT_INTERACTIONS": "Vestluse interaktsioonid",
+		"CHOOSE": "Valige",
+		"CLONEPROFORMA": "Kloon",
+		"COMPANIES": "Ettevõtted",
+		"COMPANYCITY": "Linn",
+		"COMPANYCOUNTRY": "Riik",
+		"COMPANYDESC": "Kirjeldus",
+		"COMPANYEMAIL": "E-post",
+		"COMPANYFAX": "Faks",
+		"COMPANYNAME": "Firma",
+		"COMPANYNATION": "Rahvas",
+		"COMPANYPHONE": "Telefon",
+		"COMPANYPOSTALCODE": "Postiindeks",
+		"COMPANYSTREET": "Aadress",
+		"COMPANYVAT": "Maksukood / käibemaks",
+		"CONTAINS": "Sisaldab",
+		"CREATIONDATE": "Loodud kell",
+		"CREDITINOTENAME": "Nimi",
+		"CREDITNOTE": "MÄRKUS KREDIIDI KOHTA",
+		"CREDITNOTEDETAILS": "Krediiditeatise üksikasjad",
+		"CREDITNOTE_INFO": "Kreeditarve",
+		"CUSTOMER_PORT": "Päritolu TCP-port",
+		"DELETE_PRODUCT": "Kustuta toode",
+		"DEPOSIT": "HOIUS",
+		"DETAILS": "Üksikasjad",
+		"DISABLED": "Keelatud",
+		"DISCOUNT": "Soodustus",
+		"DOSSIER": "Toimik",
+		"DOSSIERID": "Toimiku ID",
+		"DOSSIERNAME": "Toimiku nimi",
+		"DOSSIERNOTES": "Märge",
+		"DOSSIERS": "Toimikud",
+		"DOSSIER_INFO": "Teave",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Laadige alla ilma manusteta",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Laadige alla koos manustega",
+		"DRAFT": "Mustand",
+		"DRAFT_SAVE_WARNING_MESSAGE": "Selle interaktsiooni jaoks on juba mustand salvestatud. Kas soovite selle kindlasti üle kirjutada?",
+		"DRAFT_SAVE_WARNING_TITLE": "Kas kirjutada olemasolev mustand üle?",
+		"ENABLED": "Lubatud",
+		"ENDDATE": "Kehtivusaeg",
+		"ENDING_DATE": "Lõppkuupäev",
+		"ENDING_VALUE": "Lõppväärtus",
+		"ENDS_WITH": "Lõpeb koos",
+		"EQUALS": "Võrdub",
+		"FAX_INTERACTIONS": "Faksi interaktsioonid",
+		"FROM": "Alates",
+		"GRAPHINVOICES": "Arve heitkoguste tabel",
+		"ID": "Id",
+		"INASSET": "Vara",
+		"INTERACTION_CLOSED": "Koostoime on korralikult suletud",
+		"INTERACTION_CLOSED_DISPOSED": "Koostoime on korralikult suletud ja hävitatud",
+		"INTERACTION_DISPOSED": "Koostoime on korralikult paigutatud",
+		"INVOICE": "ARV",
+		"INVOICEDETAILS": "ARVETE ÜKSIKASJAD",
+		"INVOICEDISCOUNT": "Soodustus",
+		"INVOICEEMITED": "Välja antud",
+		"INVOICEID": "Arve",
+		"INVOICENAME": "Arve nimi",
+		"INVOICENOPRODUCTAMOUNT": "Summa",
+		"INVOICENOPRODUCTDESCRIPTION": "Kirjeldus arvel",
+		"INVOICENOPRODUCTSAVE": "Salvesta",
+		"INVOICENOPRODUCTUPDATE": "Uuenda",
+		"INVOICENOTAXAMOUNT": "MAKS",
+		"INVOICENOTES": "Märge",
+		"INVOICEPAYED": "Makstud",
+		"INVOICES": "ARVED",
+		"INVOICESTATUS": "Osariik",
+		"INVOICETOTAL": "Kokku",
+		"INVOICE_INFO": "Arve",
+		"IS_AMONG": "On seas",
+		"IS_BETWEEN": "On vahel",
+		"IS_GREATER_THAN": "On suurem kui",
+		"IS_GREATER_THAN_OR_EQUAL_TO": "On suurem või võrdne",
+		"IS_LESS_THAN": "On vähem kui",
+		"IS_LESS_THAN_OR_EQUAL_TO": "On väiksem või võrdne",
+		"IS_NOT_AMONG": "Ei kuulu",
+		"IS_NOT_EQUAL": "Ei võrdu",
+		"MAIL_INTERACTIONS": "E-posti interaktsioonid",
+		"MANAGESALES": "Tellimused",
+		"MEET_ALL_CONDITIONS": "Täitke kõik tingimused",
+		"MEET_ANY_CONDITIONS": "Täitke vähemalt üks tingimus",
+		"MOVEASSET": "VARA",
+		"MOVECREDITNOTE": "VÕI KREDIIDI MÄRKUS",
+		"NETPRICE": "Hind",
+		"NEW_COMPANY": "Uus",
+		"NEW_CONDITION": "Uus tingimus",
+		"NEW_DOSSIER": "Uus toimik",
+		"NEXTINVOICE": "Järgmine arve",
+		"NOTES": "Märge",
+		"NO_AVAILABLE_INTERACTION": "Pole saadaval interaktsiooni",
+		"NO_PRODUCTINVOICE_AVAILABLE": "Pole toodet",
+		"NO_PRODUCTPRICELIST_AVAILABLE": "Andmed puuduvad",
+		"NO_PRODUCTPROFORMA_AVAILABLE": "Andmed puuduvad",
+		"NUMBER": "Arv",
+		"OPENCHANNEL_INTERACTIONS": "Avage kanalite interaktsioonid",
+		"OPENDATE": "Avamiskuupäev",
+		"ORDER": "Telli",
+		"ORDERCLIENTCODE": "Kliendikood",
+		"ORDERID": "Telli",
+		"ORDERNOTES": "Märge",
+		"ORDERSTATUS": "Osariik",
+		"ORDER_INFO": "Telli",
+		"OVERWRITE": "Üle kirjutada",
+		"PAIDANDEXPIRED": "Makse",
+		"PAYED_AY": "Maksti edasi",
+		"PAYMENT": "Makse",
+		"PAYMENTMETHOD": "Makseviisid",
+		"PAYMENTS": "MAKSED",
+		"PAYMENT_INFO": "Makseteave",
+		"PDFCREDITNOTE": "PDF",
+		"PDFINVOICE": "PDF",
+		"PDFPROFORMA": "PDF",
+		"PRICELIST": "Hinnakiri",
+		"PRICELISTDISCOUNT": "Hinnakirja soodustus",
+		"PRICELISTNAME": "Hinnakiri",
+		"PRICELISTNETPRICE": "Netohind",
+		"PRICESALELISTNETPRICE": "Prezzo listino",
+		"PRIVATE": "Privaatne",
+		"PRODUCTATUNIT": "Ühik",
+		"PRODUCTCODE": "Toote kood",
+		"PRODUCTDESCRIPTION": "Kirjeldus",
+		"PRODUCTFILTERNAME": "Filtri nimi",
+		"PRODUCTININVOICE": "Arvel olevad tooted",
+		"PRODUCTINPROFORMA": "Tooted proformaadis",
+		"PRODUCTINQUOTATION": "TOOTE ANDMED",
+		"PRODUCTNAME": "Toode",
+		"PRODUCTNOTE": "Märge",
+		"PRODUCTPRICE": "Hind",
+		"PRODUCTQTY": "Kogus",
+		"PRODUCTS": "TOOTED",
+		"PRODUCTSUBSCRIPTION": "Kestus",
+		"PRODUCTTAX": "Maksuprotsent",
+		"PRODUCTTYPE": "Tüüp",
+		"PROFORMA": "PROFORMA",
+		"PROFORMAAUTHORIZED": "Volitatud proforma",
+		"PROFORMADETAILS": "Üksikasjad",
+		"PROFORMAID": "Id Proforma",
+		"PROFORMANAME": "Proforma nimi",
+		"PROFORMANOTES": "Märge",
+		"PROFORMAS": "PROFORMA",
+		"PROFORMASTATUS": "Osariik",
+		"PROFORMA_INFO": "Proforma",
+		"PUBLIC": "Avalik",
+		"PUBLIC_INTERACTION": "Suhtlus on avalik",
+		"QUANTITY": "Kogus",
+		"QUOTATION": "Tsitaat",
+		"QUOTATIONDISCOUNT": "Hinnapakkumine",
+		"QUOTATIONID": "Pakkumine",
+		"QUOTATIONINVOICEID": "Arve ID",
+		"QUOTATIONNAME": "Tsitaadi nimi",
+		"QUOTATIONNOTES": "Hinnapakkumised",
+		"QUOTATIONPRODUCTNOTE": "Toote märkus",
+		"QUOTATIONPRODUCTTYPE": "Tüüp",
+		"QUOTATIONPROFORMAID": "Proforma ID",
+		"QUOTATIONQTY": "Kogus",
+		"QUOTATIONSTATUS": "Osariik",
+		"QUOTATIONSUBSCRIPTION": "Kestus",
+		"QUOTATIONTAX": "Maks",
+		"QUOTATIONTOTAL": "KOKKU",
+		"QUOTATIONTOTALPRICE": "Neto kokku",
+		"QUOTATIONTOTALS": "Kokku",
+		"QUOTATIONTOTALTAX": "Maks kokku",
+		"QUOTATIONUNIT": "Ühik",
+		"QUOTATIONVAT": "Käibemaks",
+		"QUOTATION_INFO": "Tsitaat",
+		"REQUEST": "TAOTLUS",
+		"REQUESTID": "Taotle",
+		"REQUESTNAME": "Taotle nime",
+		"REQUESTNOTES": "Küsi märkmeid",
+		"REQUEST_INFO": "Taotle",
+		"SAVE_AS_DRAFT": "Salvesta mustandina",
+		"SCHEDULED_CALLS": "Ajastatud kõned",
+		"SELECT_ALL": "Vali kõik",
+		"SELECT_COMPANY": "Valige ettevõte",
+		"SELECT_FIELD": "Valige väli",
+		"SELECT_OPERATOR": "Valige operaator",
+		"SELECT_PERIOD": "Valige vahemik",
+		"SELECT_PERIOD_CREATION": "Valige loomise kuupäev",
+		"SELECT_PERIOD_EXPIRE": "Valige aegumiskuupäev",
+		"SELECT_PERIOD_START": "Valige kuupäev",
+		"SELECT_PRODUCT": "Valige toode",
+		"SELECT_PRODUCTTYPE": "Valige tüüp",
+		"SELECT_QUEUE": "Valige järjekord",
+		"SELECT_WORKFLOW": "Valige Töövoog",
+		"SELECT_WORKFLOWSTEPS": "Valige Töövoo olek",
+		"SMS_INTERACTIONS": "SMS-i interaktsioonid",
+		"STARTDATE": "Arve kuupäev",
+		"STARTING_DATE": "Alguskuupäev",
+		"STARTING_VALUE": "Algväärtus",
+		"STARTS_WITH": "Algab koos",
+		"STATE": "Osariik",
+		"STEP": "Samm",
+		"SUBSCRIPTIONDETAIL": "Üksikasjalikult",
+		"SUBSCRIPTIONNAME": "Tellimine",
+		"SUBSCRIPTIONS": "KLIENDIKAVA",
+		"TAX": "Maks",
+		"TO": "Et",
+		"TOTALPAYMENTS": "Maksete kogusumma",
+		"UNTITLED": "Pealkirjata",
+		"UPDATED_AT": "Muudetud sisse",
+		"UPDATE_DRAFT": "Värskenda mustandit",
+		"UPDATE_PRODUCT": "Uuenda toodet",
+		"VALUE": "Väärtus",
+		"VALUES": "Väärtused",
+		"VALUE_RANGE_CHECK": "Väärtus peab olema suurem kui",
+		"VIDAOOSESSION": "Alusta videokõnet",
+		"VISIBILITY": "Nähtavus",
+		"WHATSAPP": "WhatsApp-pistik",
+		"WHATSAPP_INTERACTIONS": "WhatsApi pistikühendused",
+		"WORKFLOW": "Valige Töövoog",
+		"YEARS": "Aastaid"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/dashboards/i18n/lt.json b/public/app/main/apps/dashboards/i18n/lt.json
new file mode 100644
index 0000000..0a68f4a
--- /dev/null
+++ b/public/app/main/apps/dashboards/i18n/lt.json
@@ -0,0 +1,552 @@
+{
+	"DASHBOARDS": {
+		"VISIBILITY": "Matomumas",
+		"PUBLIC": "Viešas",
+		"PRIVATE": "Privatus",
+		"PUBLIC_INTERACTION": "Sąveika yra vieša",
+		"SCHEDULED_CALLS": "Suplanuoti skambučiai",
+		"DOWNLOAD": "Atsisiųsti",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Atsisiųsti su priedais",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Atsisiųsti be priedų",
+		"UNMANAGED_RATE": "Nevaldomas rodiklis",
+		"UNMANAGED_RATE_TEXT": "Sąveikų nevaldomas rodiklis",
+		"VOICE_WAITING": "LAUKIAMA",
+		"VOICE_WAITING_TEXT": "LAUKIAMA EILĖS SKAMBUČIŲ",
+		"VOICE_TALKING": "KALBAMA",
+		"VOICE_TALKING_TEXT": "AKTYVŪS EILĖS SKAMBUČIAI",
+		"VOICE_ANSWERED": "ATSILIEPTA",
+		"VOICE_ANSWERED_TEXT": "ATSILIEPTI EILĖS SKAMBUČIAI",
+		"VOICE_ABANDONED": "PRALEISTAS",
+		"VOICE_ABANDONED_TEXT": "PRALEISTI EILĖS SKAMBUČIAI",
+		"VOICE_TOTAL_OFFERED": "IŠ VISO PASIŪLYTA",
+		"VOICE_TOTAL_OFFERED_TEXT": "IŠ VISO EILĖS SKAMBUČIŲ",
+		"TODAY_INTERACTIONS_STATS": "Sąveikų dienos statistikos",
+		"VOICE_AVG_HOLD_TIME": "VIDUTINIS SULAIKYMO LAIKAS",
+		"VOICE_AVG_HOLD_TIME_TEXT": "EILĖS SKAMBUČIŲ VIDUTINIS SULAIKYMO LAIKAS",
+		"VOICE_AVG_TALK_TIME": "VIDUTINIS POKALBIO LAIKAS",
+		"VOICE_AVG_TALK_TIME_TEXT": "EILĖS SKAMBUČIŲ POKALBIŲ LAIKAS",
+		"VOICE_ANSWER_RATE": "ATSILIEPIMO RODIKLIS",
+		"VOICE_ANSWER_RATE_TEXT": "EILĖS SKAMBUČIŲ ATSILIEPIMO RODIKLIS",
+		"VOICE_ABANDON_RATE": "PRALEIDIMO RODIKLIS",
+		"VOICE_ABANDON_RATE_TEXT": "EILĖS SKAMBUČIŲ PRALEIDIMO RODIKLIS",
+		"VOICE_UNMANAGED": "NEVALDOMAS",
+		"VOICE_UNMANAGED_TEXT": "NEVALDOMI EILĖS SKAMBUČIAI",
+		"OPENED_TEXT": "Atidarytos sąveikos",
+		"MANAGED": "Valdomas",
+		"MANAGED_TEXT": "Valdomos sąveikos",
+		"ABANDONED": "Praleistas",
+		"ABANDONED_TEXT": "Praleistos sąveikos",
+		"ABANDONED_RATE": "Praleistų rodiklis",
+		"ABANDONED_RATE_TEXT": "Praleistų sąveikų rodiklis",
+		"TOTAL_OFFERED": "Iš viso pasiūlyta",
+		"TOTAL_OFFERED_TEXT": "Pasiūlytos sąveikos",
+		"AVG_HOLD_TIME_TEXT": "Sąveikų vidutinis sulaikymo laikas",
+		"MANAGED_RATE": "Valdomų rodiklis",
+		"MANAGED_RATE_TEXT": "Valdomų sąveikų rodiklis",
+		"AVG_MANAGED_TIME": "Vidutinis valdymo laikas",
+		"AVG_MANAGED_TIME_TEXT": "Sąveikų vidutinis valdymo laikas",
+		"NO_DISPOSITION_SET": "Nėra nustatyto pasirinkimo",
+		"AGENTS": "Agentai",
+		"TRANSFER": "Perdavimas",
+		"NO_DATA_AVAILABLE": "Nėra duomenų",
+		"CUSTOMER_JOURNEY": "Kliento kelias",
+		"ME": "Aš",
+		"CURRENTLY_IN_USE_BY": "Šiuo metu naudoja",
+		"NOTAVAILABLE": "Nepasiekiamas",
+		"CLICKRELOAD": "Nauji praleisti skambučiai! Prašome perkrauti",
+		"ASSIGNTO": "Priskirti",
+		"SELECT_CAMPAIGN": "Pasirinkti eilę",
+		"FREE": "Laisvas",
+		"RESERVED": "Rezervuotas",
+		"QUEUECALLEREXITREASON": "Priežastis",
+		"QUEUECALLEREXITAT": "Atmestas",
+		"LASTASSIGNEDTO": "Paskutinis priskirtas",
+		"ABANDONEDQUEUECALLS": "Praleistų skambučių eilė",
+		"ABANDONAT": "Praleistas",
+		"QUEUE": "Eilė",
+		"SELECT_SUBSTATUS": "Pasirinkti substatusą",
+		"READ": "Skaitytas",
+		"UNREAD": "Neskaitytas",
+		"SELECT_READ_UNREAD": "Pasirinkti skaitytas/neskaitytas",
+		"SELECT_AGENT": "Pasirinkti agentą",
+		"MARK_AS_UNREAD": "Pažymėti kaip neskaitytą",
+		"FILTER_VOICE_QUEUES": "Filtruoti balso eiles",
+		"CHANNEL_WAITING_TEXT": "Laukiama sąveikos eilės",
+		"CHANNEL_QUEUE": "Eilė",
+		"CHANNEL_FROM": "Nuo",
+		"LOADING_INTERACTION": "Įkeliama sąveika...",
+		"JANUARY": "Sausis",
+		"FEBRUARY": "Vasaris",
+		"MARCH": "Kovas",
+		"APRIL": "Balandis",
+		"MAY": "Gegužė",
+		"JUNE": "Birželis",
+		"JULY": "Liepa",
+		"AUGUST": "Rugpjūtis",
+		"SEPTEMBER": "Rugsėjis",
+		"OCTOBER": "Spalis",
+		"NOVEMBER": "Lapkritis",
+		"DECEMBER": "Gruodis",
+		"MON": "Pirmadienis",
+		"TUE": "Antradienis",
+		"WED": "Trečiadienis",
+		"THU": "Ketvirtadienis",
+		"FRI": "Penktadienis",
+		"SAT": "Šeštadienis",
+		"SUN": "Sekmadienis",
+		"DELETE": "Ištrinti",
+		"LAST_3_DAYS": "Paskutinės 3 dienos",
+		"LAST_YEAR": "Praeiti metai",
+		"THIS_YEAR": "Šie metai",
+		"LAST_MONTH": "Praeitas mėnuo",
+		"THIS_MONTH": "Šis mėnuo",
+		"LAST_WEEK": "Praeita savaitė",
+		"THIS_WEEK": "Ši savaitė",
+		"YESTERDAY": "Vakar",
+		"TODAY": "Šiandien",
+		"SELECT_DATE": "Pasirinkti pradžios datą",
+		"HOME": "Namai",
+		"SET_AS": "Nustatyti kaip",
+		"PENDING": "Kol",
+		"CANNED_ANSWER_NOT_FOUND": "Įrašytų atsakymų nerasta",
+		"CANNED_ANSWER_SEARCH": "Įveskite tekstą, norėdami ieškoti įrašyto atsakymo",
+		"TAGS": "Žymės",
+		"SELECT_TAG": "Pasirinkti žymę",
+		"TYPE": "Tipas",
+		"SOURCE": "Šaltinis",
+		"DESTINATION": "Paskirtis",
+		"CALLERID": "Skambintojo ID",
+		"END_AT": "Pabaiga",
+		"DURATION": "Trukmė",
+		"CHAT": "Pokalbis",
+		"MAIL": "El. paštas",
+		"SMS": "Trumpoji žinutė",
+		"OPENCHANNEL": "Atidaryti kanalą",
+		"FAX": "Faksas",
+		"NOT_ASSIGNED": "Nepriskirta",
+		"UNKNOWN": "Nežinoma",
+		"SELECT_USER": "Pasirinkti vartotoją",
+		"LAST_MESSAGE": "Paskutinė žinutė",
+		"USER": "Vartotojas",
+		"RATING": "Įvertinimas",
+		"FEEDBACK": "Atsiliepimas",
+		"SUBJECT": "Tema",
+		"CUSTOMER_IP": "Atrasti IP adresą",
+		"REFERER": "Refereris",
+		"ACCOUNT": "Paskyra",
+		"WEBSITE": "Interneto svetainė",
+		"AGENT": "Agentas",
+		"CREATED_AT": "Sukurtas",
+		"CLOSED_AT": "Uždarytas",
+		"DISPOSITION": "Išdėstymas",
+		"CONTACT": "Kontaktas",
+		"INTERACTION": "Sąveika",
+		"BROWSER_NAME": "Naršyklės pavadinimas",
+		"BROWSER_VERSION": "Naršyklės versija",
+		"OS_NAME": "Operacinės sistemos pavadinimas",
+		"OS_VERSION": "Operacinės sistemos versija",
+		"DEVICE_MODEL": "Įrenginio modelis",
+		"DEVICE_VENDOR": "Įrenginio tiekėjas",
+		"DEVICE_TYPE": "Įrenginio tipas",
+		"RECALLME": "Prisiminti mane",
+		"DROP_RATE": "Atmetimo rodiklis",
+		"DROPPED": "Atmesta",
+		"DROPPED_TEXT": "Atmestų skambučių eilė",
+		"DETAIL": "Išsamiau",
+		"MOTION_BULL": "Motion Bull",
+		"LIMITED": "Ribotas",
+		"LIMITED_TEXT": "IVR kampanijų skambučių inicijavimas/ribojimas",
+		"DASHBOARDS": "Prietaisų skydeliai",
+		"RECORDINGS": "Įrašai",
+		"TODAY_MOTION_BULL_STATS": "Kampanijų eilės dienos statistika",
+		"ORIGINATED": "Inicijuotas",
+		"ORIGINATED_TEXT": "Eilės skambučių inicijavimas",
+		"UPDATE": "Atnaujinti",
+		"MORE": "Daugiau",
+		"MOTIONDIALER": "Motion Bull",
+		"DISPOSE": "Išmesti",
+		"QUEUES": "Eilės",
+		"DIALER_CALL": "Numerio rinkimo skambutis",
+		"ELAPSED_TIME": "Praėjęs laikas",
+		"EDIT": "Redaguoti",
+		"MERGE": "Sujungti",
+		"DUPLICATE": "Dublikatas",
+		"UNIQUEID": "Unikalus",
+		"CAMPAIGN": "Kampanija",
+		"NONE": "Niekas",
+		"NAME": "Pavadinimas",
+		"ANSWER_MACHINE": "Atsakiklis",
+		"INTERESTED": "Suinteresuotas",
+		"NOT_INTERESTED": "Nesuinteresuotas",
+		"PERSONAL_INFO": "Asmeninė informacija",
+		"SOLD": "Parduota",
+		"SPECIAL": "Specialus",
+		"BLACKLIST": "Juodasis sąrašas",
+		"RESCHEDULE": "Pertvarkyti",
+		"FIRSTNAME": "Vardas",
+		"LASTNAME": "Pavardė",
+		"MOBILE": "Mobilus",
+		"DATE_OF_BIRTH": "Gimimo data",
+		"COMPANY": "Įmonė",
+		"TAG": "Žymė",
+		"COUNTRY": "Šalis",
+		"CITY": "Miestas",
+		"STREET": "Adresas",
+		"POSTALCODE": "Pašto kodas",
+		"CUSTOM_FIELDS": "Pasirinktiniai laukai",
+		"GENERAL": "Bendras",
+		"VOICE": "Balsas",
+		"TODAY_IVR_CAMPAIGNS_STATS": "Dienos IVR kampanijų statistika",
+		"TODAY_INBOUND_STATS": "Įeinančių eilės dienos statistika",
+		"TODAY_OUTBOUND_STATS": "Išeinančių dienos statistika",
+		"WAITING": "Laukiama",
+		"TALKING": "Kalbama",
+		"INBOUND_ANSWERED": "Atsiliepta",
+		"OUTBOUND_ANSWERED": "Atsiliepta",
+		"AVG_HOLD_TIME": "Vidutinis sulaikymo laikas",
+		"INBOUND_ANSWER_RATE": "Atsakymų rodiklis",
+		"OUTBOUND_ANSWER_RATE": "Atsakymų rodiklis",
+		"ABANDON_RATE": "Atmetimo rodiklis",
+		"UNMANAGED": "Nevaldomas",
+		"TOTAL": "Iš viso",
+		"TOT_DURATION": "Bendra trukmė",
+		"AVG_DURATION": "Vidutinė trukmė",
+		"HELP": {
+			"MANDATORY_DISPOSITION_ENABLED": "Šiai paskyrai įjungtas privalomas išdėstymas",
+			"UNMANAGED_RATE": "Visų nevaldomų sąveikų rodiklis",
+			"WAITING": "Laukiančiųjų sąveikos bendras skaičius",
+			"OPENED": "Aktyvių sąveikų bendras skaičius",
+			"MANAGED": "Įvykdytų sąveikų bendras skaičius",
+			"ABANDONED": "Atmestų sąveikų bendras skaičius",
+			"TOTAL_OFFERED": "Bendras sąveikų skaičius (įvykdytų + atmestų)",
+			"AVG_HOLD_TIME": "Vidutinis sąveikos sulaikymo laikas, t.y. vidutinis laikas, praleistas laukiant, kol agentas atsakys visoma esamoms sąveikoms",
+			"AVG_MANAGED_TIME": "Vidutinis sąveikos tvarkymo laikas, t.y. vidutinis laikas praleistas pokalbio metu",
+			"MANAGED_RATE": "Visų sąveikų valdymo rodiklis",
+			"ABANDONED_RATE": "Visų sąveikų atmetimo rodiklis",
+			"UNMANAGED": "Bendras nevaldomų sąveikų skaičius",
+			"VOICE_WAITING": "Bendras laukiančiųjų eilės skambučių skaičius visose esamose eilėse",
+			"VOICE_TALKING": "Bendras aktyvių eilės skambučių skaičius visose esamose eilėse",
+			"VOICE_ANSWERED": "Bendras užbaigtų eilės skambučių skaičius visose esamose eilėse",
+			"VOICE_ABANDONED": "Bendras atmestų eilės skambučių skaičius, atsižvelgiant į visas esamas eiles. Atminkite, kad skambučiai, kurie yra atmesti dėl pasibaigusio laiko ir tuščio prisijungimo, nebus laikomi",
+			"VOICE_TOTAL_OFFERED": "Bendras eilės skambučių skaičius (užbaigti + atmesti + nevaldomi paskutinėje srauto eilėje). Atminkite, kad skambučiai, įeinantys į IVR, o ne į eilę, nebus laikomi",
+			"VOICE_AVG_TALK_TIME": "Vidutinis eilės kalbėjimo  laikas, t.y. vidutinis laikas, praleistas pokalbio metu visose esamose eilėse",
+			"VOICE_AVG_HOLD_TIME": "Vidutinis eilės sulaikymo laikas, t.y. vidutinis laikas, praleistas laukiant, kol agentas atsakys visose esamose eilėse",
+			"VOICE_ANSWER_RATE": "Atsakymų rodiklis visuose eilės skambučiuose",
+			"VOICE_UNMANAGED": "Bendras nevaldomų eilės skambučių skaičius visose esamose eilėse. Tai apima skambučius, kurie yra atmesti dėl pasibaigusio laiko, tuščio prisijungimo, išėjimo kai tuščia ir išėjimo paspaudus klavišą (daugiau informacijos žr. asterisko dok.)",
+			"ORIGINATED": "Bendras eilės kampanijose rinktų skambučių skaičius",
+			"ORIGINATEDLIMITED": "IVR kampanijų skambučių inicijavimas/ribojimas",
+			"DROPPED": "Bendras atmestų eilės skambučių skaičius visose esamose eilėse",
+			"DROP_RATE": "Visų eilės skambučių atmetimo rodiklis",
+			"OUTBOUND_ANSWERED": "Bendras užbaigtų išeinančių skambučių skaičius",
+			"OUTBOUND_ANSWER_RATE": "Visų išeinančių skambučių atsiliepimų rodiklis",
+			"ABANDON_RATE": "Visų eilės skambučių atmetimo rodiklis",
+			"TOTAL": "Bendras išeinančių skambučių skaičius",
+			"TOT_DURATION": "Bendra visų išeinančių skambučių trukmė",
+			"AVG_DURATION": "Visų užbaigtų išeinančių skambučių vidutinė trukmė",
+			"EXACT_MATCH_FILTER": "Ieškoti tikslaus atitikmens",
+			"LIKE_FILTER": "Ieškoti nurodyto modelio"
+		},
+		"ERRORS": {
+			"CAMPAIGN_REQUIRED": "Privalomas laukas",
+			"FIRSTNAME_REQUIRED": "Privalomas laukas",
+			"PHONE_REQUIRED": "Privalomas laukas",
+			"DISPOSITION_REQUIRED": "Privalomas laukas",
+			"AGENT_REQUIRED": "Privalomas laukas",
+			"QUEUE_REQUIRED": "Privalomas laukas"
+		},
+		"NO_AVAILABLE_INFO": "Nėra informacijos",
+		"WELCOME_TO_MOTION": "Sveiki atvykę į Motion",
+		"WELCOME_MESSAGE": "Norėdami naršyti prieinamose sekcijose, naudokite kairiąją šoninę juostą",
+		"ADD": "Pridėti",
+		"CONTACTMANAGER": "Kontaktų tvarkytojas",
+		"DASHBOARD": "Prietaisų skydelis",
+		"EDIT_CONTACT": "Redaguoti kontaktą",
+		"EMAIL": "El. paštas",
+		"FULLNAME": "Vardas pavardė",
+		"LIST": "Sąrašas",
+		"NEW_CONTACT": "Naujas kontaktas",
+		"PHONE": "Telefonas",
+		"SAVE": "Saugoti",
+		"INBOUND_WAITING_CALLS": "Įeinantys laukiantys skambučiai",
+		"CONTACTS": "Kontaktai",
+		"MYCONTACTS": "Mano kontaktai",
+		"ADD_CONTACT": "Pridėti kontakta",
+		"RELOAD": "Perkrauti",
+		"WAITING_TEXT": "Laukiama sąveikų",
+		"TALKING_TEXT": "Aktyvūs eilės skambučiai",
+		"INBOUND_ANSWERED_TEXT": "Atsiliepti eilės skambučiai",
+		"DROP_RATE_TEXT": "Eilės skambučių atmetimo rodiklis",
+		"AVG_TALK_TIME_TEXT": "Eilės skambučių kalbėjimo laikas",
+		"INBOUND_ANSWER_RATE_TEXT": "Eilės skambučių atsiliepimo rodiklis",
+		"UNMANAGED_TEXT": "Nevaldomos sąveikos",
+		"TOTAL_TEXT": "Iš viso išeinančių skambučių",
+		"OUTBOUND_ANSWERED_TEXT": "Išeinantys atsiliepti skambučiai",
+		"TOT_DURATION_TEXT": "Išeinančių skambučių bendra trukmė",
+		"AVG_DURATION_TEXT": "Išeinančių skambučių vidutinė trukmė",
+		"OUTBOUND_ANSWER_RATE_TEXT": "Išeinančių skambučių atsiliepimo rodiklis",
+		"PAGE": "Puslapis",
+		"ROWSPERPAGE": "Eilutės puslapyje",
+		"OF": "Iš",
+		"REPLY_PLACEHOLDER": "Įveskite ir paspauskite „Enter“, kad išsiųstumėte pranešimą",
+		"CONTACT_INFO": "Kontaktinė informacija",
+		"CLOSE_AND_DISPOSE": "Uždaryti ir išmesti",
+		"DISPOSITIONS": "Išdėstymai",
+		"CLOSE_WITHOUT_DISPOSE": "Uždaryti neišmetant",
+		"ACCEPT": "Priimti",
+		"REJECT": "Atmesti",
+		"CLOSED": "Uždaryta",
+		"INFO": "Informacija",
+		"NOTE": "Pastaba",
+		"ACCEPT_ELSEWHERE": "Accepted elsewhere",
+		"ATTENTION": "Attention",
+		"SOCIAL": "Social",
+		"NO_JSCRIPTY_PROJECTS_AVAILABLE": "No Jscripty Projects available",
+		"OPENED": "Opened",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select Status",
+		"SELECT_ACCOUNT": "Select Account",
+		"SELECT_WEBSITE": "Select Website",
+		"ALL": "All",
+		"INTERACTIONS": "Interactions",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"OPEN": "Open",
+		"SHOW": "Show",
+		"SHOW_DETAILS": "Show Details",
+		"HIDE_DETAILS": "Hide Details",
+		"EXTERNAL_URL": "External Link",
+		"NO_MAIL_ACCOUNTS_AVAILABLE": "No Email Accounts available",
+		"NO_FAX_ACCOUNTS_AVAILABLE": "No Fax Accounts available",
+		"NO_SMS_ACCOUNTS_AVAILABLE": "No SMS Accounts available",
+		"SELECT_DATE_RANGE": "Select Date Range",
+		"CLEAR": "Clear",
+		"CALL_NUMBER": "Call",
+		"TRANSFER_NUMBER": "Transfer",
+		"CALL_SAVED": "Call properly saved",
+		"CALL_DISPOSED": "Call properly disposed",
+		"CUSTOMER_PORT": "Originating TCP Port",
+		"INTERACTION_CLOSED": "Interaction properly closed",
+		"INTERACTION_DISPOSED": "Interaction properly disposed",
+		"INTERACTION_CLOSED_DISPOSED": "Interaction properly closed and disposed",
+		"SELECT_ALL": "Select all",
+		"ASSIGNED_TO_OTHERS": "Assigned to others",
+		"ID": "Id",
+		"CHAT_INTERACTIONS": "Chat Interactions",
+		"MAIL_INTERACTIONS": "Email Interactions",
+		"SMS_INTERACTIONS": "SMS Interactions",
+		"OPENCHANNEL_INTERACTIONS": "Open Channel Interactions",
+		"FAX_INTERACTIONS": "Fax Interactions",
+		"DRAFT": "Draft",
+		"DRAFT_SAVE_WARNING_TITLE": "Overwrite existing draft?",
+		"DRAFT_SAVE_WARNING_MESSAGE": "There is already a draft saved for this interaction. Are you sure you want to overwrite it?",
+		"OVERWRITE": "Overwrite",
+		"CANCEL": "Cancel",
+		"UNTITLED": "Untitled",
+		"SAVE_AS_DRAFT": "Save as draft",
+		"UPDATE_DRAFT": "Update draft",
+		"NO_AVAILABLE_INTERACTION": "No available interaction",
+		"DOSSIERS": "Dossiers",
+		"DOSSIER": "Dossier",
+		"DOSSIER_INFO": "Information",
+		"SELECT_COMPANY": "Select Company",
+		"DOSSIERNAME": "Dossier Name",
+		"OPENDATE": "Open Date",
+		"ALL_COMPANIES": "All Companies",
+		"SELECT_WORKFLOW": "Select Workflow",
+		"WORKFLOW": "Select Workflow",
+		"SELECT_WORKFLOWSTEPS": "Select Workflow State",
+		"ALL_WORKFLOW": "All Workflow",
+		"STATE": "State",
+		"STEP": "Step",
+		"NEW_DOSSIER": "New Dossier",
+		"PRICELIST": "Price List",
+		"PRODUCTFILTERNAME": "Filter Name",
+		"PRODUCTNAME": "Product",
+		"PRODUCTINQUOTATION": "PRODUCT DETAILS",
+		"REQUEST": "REQUEST",
+		"QUOTATION": "QUOTATION",
+		"DOSSIERID": "Dossier ID",
+		"QUOTATIONNAME": "Quotation Name",
+		"QUOTATIONNOTES": "Quotation Notes",
+		"QUOTATIONSTATUS": "State",
+		"REQUESTNAME": "Request Name",
+		"REQUESTNOTES": "Request Notes",
+		"ALL_STEP": "All",
+		"UPDATED_AT": "Modified on",
+		"BY": "By",
+		"ORDER": "Order",
+		"PROFORMA": "PROFORMA",
+		"INVOICE": "INVOICE",
+		"REQUESTID": "Request",
+		"QUOTATIONID": "Offer",
+		"ORDERID": "Order",
+		"PRICELISTNAME": "Price List",
+		"PRODUCTCODE": "Product Code",
+		"PRICELISTNETPRICE": "Net Price",
+		"PRICELISTDISCOUNT": "Price list discount",
+		"QUOTATIONQTY": "Quantity",
+		"QUOTATIONTAX": "Tax",
+		"QUOTATIONPROFORMAID": "Proforma ID",
+		"QUOTATIONINVOICEID": "Invoice ID",
+		"QUOTATIONDISCOUNT": "Quotation Discount",
+		"ORDER_INFO": "Order",
+		"REQUEST_INFO": "Request",
+		"QUOTATION_INFO": "Quotation",
+		"ORDERCLIENTCODE": "Customer Code",
+		"ORDERNOTES": "Note",
+		"PROFORMANAME": "Proforma name",
+		"AGENTFULLNAME": "Agent",
+		"PROFORMANOTES": "Note",
+		"PRODUCTINPROFORMA": "Products in proforma",
+		"INVOICENAME": "Invoice Name",
+		"INVOICENOTES": "Note",
+		"DOSSIERNOTES": "Note",
+		"QUOTATIONTOTALPRICE": "Total net",
+		"QUOTATIONTOTALTAX": "Total tax",
+		"PROFORMA_INFO": "Proforma",
+		"PROFORMAID": "Id Proforma",
+		"PRICESALELISTNETPRICE": "Prezzo listino",
+		"PROFORMASTATUS": "State",
+		"INVOICESTATUS": "State",
+		"NO_PRODUCTINVOICE_AVAILABLE": "No product",
+		"INVOICEID": "Invoice",
+		"PRODUCTNOTE": "Note",
+		"INVOICE_INFO": "Invoice",
+		"COMPANYSTREET": "Address",
+		"COMPANYCITY": "City",
+		"COMPANYPOSTALCODE": "Postal Code",
+		"COMPANYCOUNTRY": "Country",
+		"COMPANYFAX": "Fax",
+		"COMPANYVAT": "Fiscal Code/VAT",
+		"COMPANYPHONE": "Telephone",
+		"COMPANYEMAIL": "Email",
+		"NOTES": "Note",
+		"QUOTATIONPRODUCTNOTE": "Product Note",
+		"QUOTATIONVAT": "VAT",
+		"AUTOPROFORMA": "SELF-PROFORMA",
+		"AUTOINVOICE": "SELF-INVOICE",
+		"MOVEASSET": "ASSET",
+		"ORDERSTATUS": "State",
+		"QUOTATIONTOTALS": "Total",
+		"QUOTATIONTOTAL": "TOTAL",
+		"PRODUCTTYPE": "Type",
+		"PRODUCTSUBSCRIPTION": "Duration",
+		"PRODUCTATUNIT": "Unit",
+		"INASSET": "Asset",
+		"PRODUCTININVOICE": "Products on the invoice",
+		"SUBSCRIPTIONS": "CUSTOMER SCHEDULE",
+		"SUBSCRIPTIONNAME": "Subscription",
+		"COMPANYNAME": "Company",
+		"NEXTINVOICE": "Next Invoice",
+		"SUBSCRIPTIONDETAIL": "Detail",
+		"PRODUCTDESCRIPTION": "Description",
+		"NETPRICE": "Price",
+		"DISCOUNT": "Discount",
+		"TAX": "Tax",
+		"ATTENDACELASTINVOICE": "Last invoice",
+		"ATTENDACENEXTINVOICE": "Next invoice",
+		"SELECT_PRODUCT": "Select product",
+		"SELECT_PRODUCTTYPE": "Select type",
+		"ALL_PRODUCTS": "All",
+		"ALL_STATUS": "All",
+		"PAYMENT_INFO": "Payment information",
+		"PAYMENTMETHOD": "Payment methods",
+		"PAYMENT": "Payment",
+		"DETAILS": "Details",
+		"INVOICEDETAILS": "INVOICE DETAILS",
+		"QUANTITY": "Quantity",
+		"MANAGESALES": "Subscriptions",
+		"ACCOUNTINGDOC": "Accounting",
+		"INVOICES": "INVOICES",
+		"PROFORMAS": "PROFORMA",
+		"PAYMENTS": "PAYMENTS",
+		"SELECT_PERIOD": "Select range",
+		"NO_PRODUCTPROFORMA_AVAILABLE": "No data available",
+		"NO_PRODUCTPRICELIST_AVAILABLE": "No data available",
+		"PROFORMAAUTHORIZED": "Authorized proforma",
+		"ADD_PRODUCTPRICELIST": "ADD PRODUCT",
+		"DELETE_PRODUCT": "Delete Product",
+		"AUTHORIZED": "AUTHORIZED",
+		"INVOICEDISCOUNT": "Discount",
+		"DEPOSIT": "DEPOSIT",
+		"BALANCE": "BALANCE",
+		"PRODUCTS": "PRODUCTS",
+		"INVOICENOPRODUCTDESCRIPTION": "Description on the invoice",
+		"INVOICENOPRODUCTAMOUNT": "Amount",
+		"INVOICENOTAXAMOUNT": "TAX",
+		"INVOICENOPRODUCTSAVE": "Save",
+		"INVOICENOPRODUCTUPDATE": "Update",
+		"PDFPROFORMA": "PDF",
+		"PDFINVOICE": "PDF",
+		"PAIDANDEXPIRED": "Payment",
+		"CREDITNOTE": "CREDIT NOTE",
+		"CREDITNOTE_INFO": "Credit Note",
+		"MOVECREDITNOTE": "SELF-CREDIT NOTE",
+		"CREDITNOTEDETAILS": "Credit Note Detail",
+		"PDFCREDITNOTE": "PDF",
+		"CREDITINOTENAME": "Name",
+		"TOTALPAYMENTS": "Total payments",
+		"PROFORMADETAILS": "Details",
+		"CREATIONDATE": "Created at",
+		"STARTDATE": "Invoice Date",
+		"ENDDATE": "Expiry Date",
+		"NUMBER": "Number",
+		"PRODUCTPRICE": "Price",
+		"PRODUCTTAX": "Tax percentage",
+		"PRODUCTQTY": "Quantity",
+		"UPDATE_PRODUCT": "Update Product",
+		"QUOTATIONPRODUCTTYPE": "Type",
+		"QUOTATIONUNIT": "Unit",
+		"QUOTATIONSUBSCRIPTION": "Duration",
+		"SELECT_PERIOD_CREATION": "Select Creation Date",
+		"SELECT_PERIOD_START": "Select Date",
+		"SELECT_PERIOD_EXPIRE": "Select Expiry Date",
+		"NEW_COMPANY": "New",
+		"COMPANIES": "Companies",
+		"PAYED_AY": "Payed on",
+		"CLONEPROFORMA": "Clone",
+		"COMPANYDESC": "Description",
+		"COMPANYNATION": "Nation",
+		"GRAPHINVOICES": "Invoice emission chart",
+		"YEARS": "Years",
+		"FROM": "From",
+		"TO": "To",
+		"INVOICEEMITED": "Issued",
+		"INVOICEPAYED": "Payed",
+		"INVOICETOTAL": "Total",
+		"CHOOSE": "Choose",
+		"ADVANCED_SEARCH": "Advanced Search",
+		"NEW_CONDITION": "New Condition",
+		"SELECT_FIELD": "Select field",
+		"SELECT_OPERATOR": "Select operator",
+		"VALUE": "Value",
+		"VALUES": "Values",
+		"APPLY": "Apply",
+		"MEET_ALL_CONDITIONS": "Meet all conditions",
+		"MEET_ANY_CONDITIONS": "Meet at least one condition",
+		"EQUALS": "Equals",
+		"IS_NOT_EQUAL": "Does not equal",
+		"IS_AMONG": "Is among",
+		"IS_NOT_AMONG": "Is not among",
+		"IS_GREATER_THAN": "Is greater than",
+		"IS_GREATER_THAN_OR_EQUAL_TO": "Is greater than or equal to",
+		"IS_LESS_THAN": "Is less than",
+		"IS_LESS_THAN_OR_EQUAL_TO": "Is less than or equal to",
+		"IS_BETWEEN": "Is between",
+		"CONTAINS": "Contains",
+		"STARTS_WITH": "Starts with",
+		"ENDS_WITH": "Ends with",
+		"STARTING_DATE": "Starting date",
+		"ENDING_DATE": "Ending date",
+		"STARTING_VALUE": "Starting value",
+		"ENDING_VALUE": "Ending value",
+		"VALUE_RANGE_CHECK": "Value must be greater than",
+		"AND": "And",
+		"ENABLED": "Enabled",
+		"DISABLED": "Disabled",
+		"SELECT_QUEUE": "Pasirinkite eilę",
+		"VIDAOOSESSION": "Pradėti vaizdo skambutį",
+		"WHATSAPP": "„WhatsApp“ jungtis",
+		"WHATSAPP_INTERACTIONS": "„WhatsApp“ jungčių sąveika"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/fax/i18n/cs.json b/public/app/main/apps/fax/i18n/cs.json
new file mode 100644
index 0000000..146870c
--- /dev/null
+++ b/public/app/main/apps/fax/i18n/cs.json
@@ -0,0 +1,261 @@
+{
+	"FAX": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"CANNEDANSWERS": "Canned Answers",
+		"FAXCANNEDANSWERS": "Canned Answers",
+		"NO_FAXCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_FAXCANNEDANSWER": "New Canned Answer",
+		"ADD_FAXCANNEDANSWER": "Add Canned Answer",
+		"EDIT_CHATCANNEDANSWER": "Edit Canned Answer",
+		"DELETE_CHATCANNEDANSWER": "Delete Canned Answer",
+		"SPYINTERACTION": "Spy",
+		"TAGS": "Tags",
+		"REPLY": "Reply",
+		"SEND": "Send",
+		"TO": "To",
+		"FROM": "From",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_FAXQUEUE": "Go To Realtime Fax Queue",
+		"EDIT_TRUNK": "Edit Trunk",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"EDIT_ACCOUNT": "Edit Fax Account",
+		"PARTIALPAUSE": "Partial Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"GOTO_FAXACCOUNT": "Go To Realtime Fax",
+		"ACCOUNTS": "Accounts",
+		"GOTOREALTIME_FAXACCOUNT": "Go To Realtime Fax",
+		"TRUNK_STATUS": "Trunk Status",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No Registry",
+		"PAUSE": "Pause",
+		"INFO": "Info",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"LOGOUT": "Logout",
+		"DEFAULT_PAUSE": "Default pause",
+		"AGENTADD_QUEUE": "Add Agent to Fax queue",
+		"AGENTSADD_QUEUE": "Add Agents to Fax queue",
+		"UNPAUSE": "End Pause",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"PRIORITY": "Priority",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"EDIT_FAXQUEUE": "Edit Fax Queue",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOP": "Edit GotoP",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"EDIT_QUEUE": "Edit Fax Queue",
+		"EDIT_CLOSE": "Edit Close",
+		"QUEUE": "Queue",
+		"GOTOIF": "GotoIf",
+		"GOTOP": "GotoP",
+		"NOOP": "Noop",
+		"AGENT": "Agent",
+		"NOTES": "Notes",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"REALTIME": "Realtime",
+		"TEAMADD_FAXQUEUE": "Add Team to Fax Queue",
+		"AGENTADD_FAXQUEUE": "Add Agent to Fax Queue",
+		"NAME": "Name",
+		"FAXQUEUES": "Fax Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"LOCALSTATIONID_REQUIRED": "Mandatory Field",
+			"MODEM_REQUIRED": "Mandatory Field",
+			"GATEWAY_REQUIRED": "Mandatory Field",
+			"FAXDETECT_REQUIRED": "Mandatory Field",
+			"T38TIMEOUT_REQUIRED": "Mandatory Field",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"HEADERINFO_REQUIRED": "Mandatory Field",
+			"TRUNK_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Měli byste zadat stav pauzy, když je v povinné poloze"
+		},
+		"STRATEGY": "Strategy",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_FAXQUEUE": "Add Fax Queue",
+		"DELETE_FAXQUEUE": "Delete Fax Queue",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"FAXACCOUNTS": "Fax Accounts",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_FAXACCOUNT": "Add Fax Account",
+		"EDIT_FAXACCOUNT": "Edit Fax Account",
+		"DELETE_FAXACCOUNT": "Delete Fax Account",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"TRUNK": "Trunk",
+		"LOCALSTATIONID": "Local Station Identifier",
+		"HELP": {
+			"LOCALSTATIONID": "Local Station Identifier (telephone number)",
+			"HEADERINFO": "Outbound Fax Header information",
+			"MODEM": "Modem Type (v17/v27/v29)",
+			"GATEWAY": "T.38 Fax Gateway, with optional fax activity timeout in seconds (yes/no/[timeout])",
+			"FAXDETECT": "Enable Fax Detect with optional timeout in seconds (yes/t38/cng/[timeout]/no)",
+			"T38TIMEOUT": "The timeout used for T.38 negotiation (minimum value=1000)",
+			"ECM": "Error Connection Mode (ECM)",
+			"MINRATE": "Minimum transfer rate set before transmission",
+			"MAXRATE": "Maximum transfer rate set before transmission",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"MANDATORYDISPOSITION": "Povinná dispozice",
+			"MANDATORYDISPOSITIONPAUSEID": "Pozastavení stavu pro povinné nakládání"
+		},
+		"ADVANCED": "Advanced",
+		"ECM": "ECM",
+		"MINRATE": "Min Rate",
+		"MAXRATE": "Max Rate",
+		"MODEM": "Modem",
+		"GATEWAY": "Gateway",
+		"FAXDETECT": "Fax Detect",
+		"T38TIMEOUT": "T.38 Timeout",
+		"SIP": "Technology",
+		"HEADERINFO": "Header Info",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"FAX": "Fax",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"FAXDISPOSITIONS": "Fax Dispositions",
+		"NO_FAXDISPOSITION_AVAILABLE": "No Fax Dispositions available",
+		"NEW_FAXDISPOSITION": "New Fax Disposition",
+		"ADD_FAXDISPOSITION": "Add Fax Disposition",
+		"EDIT_FAXDISPOSITION": "Edit Fax Disposition",
+		"DELETE_FAXDISPOSITION": "Delete Fax Disposition",
+		"NEW_FAXQUEUE": "New Fax Queue",
+		"NEW_FAXACCOUNT": "New Fax Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"DELETE": "Delete",
+		"KEY": "Key",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select Status",
+		"ALL": "All",
+		"CLOSED": "Closed",
+		"OPENED": "Opened",
+		"SELECT_ACCOUNT": "Select Account",
+		"INTERACTIONS": "Interactions",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"UNKNOWN": "Unknown",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"TOTAL": "Total",
+		"IN": "In",
+		"OUT": "Out",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"INTERACTIONS_FAXACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_FAXACCOUNT": "Add Agent to Fax Account",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Stahujte bez příloh",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Stáhnout s přílohami",
+		"LASTMESSAGE": "Poslední zpráva",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Pozastavit stav, když je v povinné poloze",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+		"TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/fax/i18n/et.json b/public/app/main/apps/fax/i18n/et.json
new file mode 100644
index 0000000..67468ba
--- /dev/null
+++ b/public/app/main/apps/fax/i18n/et.json
@@ -0,0 +1,261 @@
+{
+	"FAX": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"CANNEDANSWERS": "Canned Answers",
+		"FAXCANNEDANSWERS": "Canned Answers",
+		"NO_FAXCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_FAXCANNEDANSWER": "New Canned Answer",
+		"ADD_FAXCANNEDANSWER": "Add Canned Answer",
+		"EDIT_CHATCANNEDANSWER": "Edit Canned Answer",
+		"DELETE_CHATCANNEDANSWER": "Delete Canned Answer",
+		"SPYINTERACTION": "Spy",
+		"TAGS": "Tags",
+		"REPLY": "Reply",
+		"SEND": "Send",
+		"TO": "To",
+		"FROM": "From",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_FAXQUEUE": "Go To Realtime Fax Queue",
+		"EDIT_TRUNK": "Edit Trunk",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"EDIT_ACCOUNT": "Edit Fax Account",
+		"PARTIALPAUSE": "Partial Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"GOTO_FAXACCOUNT": "Go To Realtime Fax",
+		"ACCOUNTS": "Accounts",
+		"GOTOREALTIME_FAXACCOUNT": "Go To Realtime Fax",
+		"TRUNK_STATUS": "Trunk Status",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No Registry",
+		"PAUSE": "Pause",
+		"INFO": "Info",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"LOGOUT": "Logout",
+		"DEFAULT_PAUSE": "Default pause",
+		"AGENTADD_QUEUE": "Add Agent to Fax queue",
+		"AGENTSADD_QUEUE": "Add Agents to Fax queue",
+		"UNPAUSE": "End Pause",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"PRIORITY": "Priority",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"EDIT_FAXQUEUE": "Edit Fax Queue",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOP": "Edit GotoP",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"EDIT_QUEUE": "Edit Fax Queue",
+		"EDIT_CLOSE": "Edit Close",
+		"QUEUE": "Queue",
+		"GOTOIF": "GotoIf",
+		"GOTOP": "GotoP",
+		"NOOP": "Noop",
+		"AGENT": "Agent",
+		"NOTES": "Notes",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"REALTIME": "Realtime",
+		"TEAMADD_FAXQUEUE": "Add Team to Fax Queue",
+		"AGENTADD_FAXQUEUE": "Add Agent to Fax Queue",
+		"NAME": "Name",
+		"FAXQUEUES": "Fax Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"LOCALSTATIONID_REQUIRED": "Mandatory Field",
+			"MODEM_REQUIRED": "Mandatory Field",
+			"GATEWAY_REQUIRED": "Mandatory Field",
+			"FAXDETECT_REQUIRED": "Mandatory Field",
+			"T38TIMEOUT_REQUIRED": "Mandatory Field",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"HEADERINFO_REQUIRED": "Mandatory Field",
+			"TRUNK_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Peaksite pausi oleku määrama, kui see on kohustuslik"
+		},
+		"STRATEGY": "Strategy",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_FAXQUEUE": "Add Fax Queue",
+		"DELETE_FAXQUEUE": "Delete Fax Queue",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"FAXACCOUNTS": "Fax Accounts",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_FAXACCOUNT": "Add Fax Account",
+		"EDIT_FAXACCOUNT": "Edit Fax Account",
+		"DELETE_FAXACCOUNT": "Delete Fax Account",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"TRUNK": "Trunk",
+		"LOCALSTATIONID": "Local Station Identifier",
+		"HELP": {
+			"LOCALSTATIONID": "Local Station Identifier (telephone number)",
+			"HEADERINFO": "Outbound Fax Header information",
+			"MODEM": "Modem Type (v17/v27/v29)",
+			"GATEWAY": "T.38 Fax Gateway, with optional fax activity timeout in seconds (yes/no/[timeout])",
+			"FAXDETECT": "Enable Fax Detect with optional timeout in seconds (yes/t38/cng/[timeout]/no)",
+			"T38TIMEOUT": "The timeout used for T.38 negotiation (minimum value=1000)",
+			"ECM": "Error Connection Mode (ECM)",
+			"MINRATE": "Minimum transfer rate set before transmission",
+			"MAXRATE": "Maximum transfer rate set before transmission",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+			"MANDATORYDISPOSITIONPAUSEID": "Peata kohustusliku dispositsiooni olek"
+		},
+		"ADVANCED": "Advanced",
+		"ECM": "ECM",
+		"MINRATE": "Min Rate",
+		"MAXRATE": "Max Rate",
+		"MODEM": "Modem",
+		"GATEWAY": "Gateway",
+		"FAXDETECT": "Fax Detect",
+		"T38TIMEOUT": "T.38 Timeout",
+		"SIP": "Technology",
+		"HEADERINFO": "Header Info",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"FAX": "Fax",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"FAXDISPOSITIONS": "Fax Dispositions",
+		"NO_FAXDISPOSITION_AVAILABLE": "No Fax Dispositions available",
+		"NEW_FAXDISPOSITION": "New Fax Disposition",
+		"ADD_FAXDISPOSITION": "Add Fax Disposition",
+		"EDIT_FAXDISPOSITION": "Edit Fax Disposition",
+		"DELETE_FAXDISPOSITION": "Delete Fax Disposition",
+		"NEW_FAXQUEUE": "New Fax Queue",
+		"NEW_FAXACCOUNT": "New Fax Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"DELETE": "Delete",
+		"KEY": "Key",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select Status",
+		"ALL": "All",
+		"CLOSED": "Closed",
+		"OPENED": "Opened",
+		"SELECT_ACCOUNT": "Select Account",
+		"INTERACTIONS": "Interactions",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"UNKNOWN": "Unknown",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"TOTAL": "Total",
+		"IN": "In",
+		"OUT": "Out",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"INTERACTIONS_FAXACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_FAXACCOUNT": "Add Agent to Fax Account",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Laadige alla ilma manusteta",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Laadige alla koos manustega",
+		"LASTMESSAGE": "Viimane teade",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Peatage olek kohustusliku dispositsiooni korral",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/fax/i18n/lt.json b/public/app/main/apps/fax/i18n/lt.json
new file mode 100644
index 0000000..607ba56
--- /dev/null
+++ b/public/app/main/apps/fax/i18n/lt.json
@@ -0,0 +1,261 @@
+{
+	"FAX": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"CANNEDANSWERS": "Canned Answers",
+		"FAXCANNEDANSWERS": "Canned Answers",
+		"NO_FAXCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_FAXCANNEDANSWER": "New Canned Answer",
+		"ADD_FAXCANNEDANSWER": "Add Canned Answer",
+		"EDIT_CHATCANNEDANSWER": "Edit Canned Answer",
+		"DELETE_CHATCANNEDANSWER": "Delete Canned Answer",
+		"SPYINTERACTION": "Spy",
+		"TAGS": "Tags",
+		"REPLY": "Reply",
+		"SEND": "Send",
+		"TO": "To",
+		"FROM": "From",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_FAXQUEUE": "Go To Realtime Fax Queue",
+		"EDIT_TRUNK": "Edit Trunk",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"EDIT_ACCOUNT": "Edit Fax Account",
+		"PARTIALPAUSE": "Partial Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"GOTO_FAXACCOUNT": "Go To Realtime Fax",
+		"ACCOUNTS": "Accounts",
+		"GOTOREALTIME_FAXACCOUNT": "Go To Realtime Fax",
+		"TRUNK_STATUS": "Trunk Status",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No Registry",
+		"PAUSE": "Pause",
+		"INFO": "Info",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"LOGOUT": "Logout",
+		"DEFAULT_PAUSE": "Default pause",
+		"AGENTADD_QUEUE": "Add Agent to Fax queue",
+		"AGENTSADD_QUEUE": "Add Agents to Fax queue",
+		"UNPAUSE": "End Pause",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"PRIORITY": "Priority",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"EDIT_FAXQUEUE": "Edit Fax Queue",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOP": "Edit GotoP",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"EDIT_QUEUE": "Edit Fax Queue",
+		"EDIT_CLOSE": "Edit Close",
+		"QUEUE": "Queue",
+		"GOTOIF": "GotoIf",
+		"GOTOP": "GotoP",
+		"NOOP": "Noop",
+		"AGENT": "Agent",
+		"NOTES": "Notes",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"REALTIME": "Realtime",
+		"TEAMADD_FAXQUEUE": "Add Team to Fax Queue",
+		"AGENTADD_FAXQUEUE": "Add Agent to Fax Queue",
+		"NAME": "Name",
+		"FAXQUEUES": "Fax Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"MANDATORYDISPOSITION": "Mandatory disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause status when in mandatory disposition",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"LOCALSTATIONID_REQUIRED": "Mandatory Field",
+			"MODEM_REQUIRED": "Mandatory Field",
+			"GATEWAY_REQUIRED": "Mandatory Field",
+			"FAXDETECT_REQUIRED": "Mandatory Field",
+			"T38TIMEOUT_REQUIRED": "Mandatory Field",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"HEADERINFO_REQUIRED": "Mandatory Field",
+			"TRUNK_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "You should specify a pause status when in mandatory disposition"
+		},
+		"STRATEGY": "Strategy",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_FAXQUEUE": "Add Fax Queue",
+		"DELETE_FAXQUEUE": "Delete Fax Queue",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"FAXACCOUNTS": "Fax Accounts",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_FAXACCOUNT": "Add Fax Account",
+		"EDIT_FAXACCOUNT": "Edit Fax Account",
+		"DELETE_FAXACCOUNT": "Delete Fax Account",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"TRUNK": "Trunk",
+		"LOCALSTATIONID": "Local Station Identifier",
+		"HELP": {
+			"LOCALSTATIONID": "Local Station Identifier (telephone number)",
+			"HEADERINFO": "Outbound Fax Header information",
+			"MODEM": "Modem Type (v17/v27/v29)",
+			"GATEWAY": "T.38 Fax Gateway, with optional fax activity timeout in seconds (yes/no/[timeout])",
+			"FAXDETECT": "Enable Fax Detect with optional timeout in seconds (yes/t38/cng/[timeout]/no)",
+			"T38TIMEOUT": "The timeout used for T.38 negotiation (minimum value=1000)",
+			"ECM": "Error Connection Mode (ECM)",
+			"MINRATE": "Minimum transfer rate set before transmission",
+			"MAXRATE": "Maximum transfer rate set before transmission",
+			"MANDATORYDISPOSITION": "Mandatory disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause status for mandatory disposition",
+			"NAME": "Only numbers, letters and specific characters (._) are supported"
+		},
+		"ADVANCED": "Advanced",
+		"ECM": "ECM",
+		"MINRATE": "Min Rate",
+		"MAXRATE": "Max Rate",
+		"MODEM": "Modem",
+		"GATEWAY": "Gateway",
+		"FAXDETECT": "Fax Detect",
+		"T38TIMEOUT": "T.38 Timeout",
+		"SIP": "Technology",
+		"HEADERINFO": "Header Info",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"FAX": "Fax",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"FAXDISPOSITIONS": "Fax Dispositions",
+		"NO_FAXDISPOSITION_AVAILABLE": "No Fax Dispositions available",
+		"NEW_FAXDISPOSITION": "New Fax Disposition",
+		"ADD_FAXDISPOSITION": "Add Fax Disposition",
+		"EDIT_FAXDISPOSITION": "Edit Fax Disposition",
+		"DELETE_FAXDISPOSITION": "Delete Fax Disposition",
+		"NEW_FAXQUEUE": "New Fax Queue",
+		"NEW_FAXACCOUNT": "New Fax Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"DELETE": "Delete",
+		"KEY": "Key",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select Status",
+		"ALL": "All",
+		"CLOSED": "Closed",
+		"OPENED": "Opened",
+		"SELECT_ACCOUNT": "Select Account",
+		"INTERACTIONS": "Interactions",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"LASTMESSAGE": "Last message",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"UNKNOWN": "Unknown",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"TOTAL": "Total",
+		"IN": "In",
+		"OUT": "Out",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"INTERACTIONS_FAXACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_FAXACCOUNT": "Add Agent to Fax Account",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
+		"TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/help/i18n/cs.json b/public/app/main/apps/help/i18n/cs.json
new file mode 100644
index 0000000..06a054c
--- /dev/null
+++ b/public/app/main/apps/help/i18n/cs.json
@@ -0,0 +1,8 @@
+{
+	"HELP": {
+		"HELP": "Help",
+		"ABOUT": "About",
+		"USEFUL_LINKS": "Useful links",
+		"CONTACT_US": "Contact us"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/help/i18n/et.json b/public/app/main/apps/help/i18n/et.json
new file mode 100644
index 0000000..06a054c
--- /dev/null
+++ b/public/app/main/apps/help/i18n/et.json
@@ -0,0 +1,8 @@
+{
+	"HELP": {
+		"HELP": "Help",
+		"ABOUT": "About",
+		"USEFUL_LINKS": "Useful links",
+		"CONTACT_US": "Contact us"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/help/i18n/lt.json b/public/app/main/apps/help/i18n/lt.json
new file mode 100644
index 0000000..06a054c
--- /dev/null
+++ b/public/app/main/apps/help/i18n/lt.json
@@ -0,0 +1,8 @@
+{
+	"HELP": {
+		"HELP": "Help",
+		"ABOUT": "About",
+		"USEFUL_LINKS": "Useful links",
+		"CONTACT_US": "Contact us"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/integrations/i18n/cs.json b/public/app/main/apps/integrations/i18n/cs.json
new file mode 100644
index 0000000..1e40704
--- /dev/null
+++ b/public/app/main/apps/integrations/i18n/cs.json
@@ -0,0 +1,237 @@
+{
+	"INTEGRATIONS": {
+		"ADVANCED": "Advanced",
+		"MODULE_SEARCH": "Module Search",
+		"MODULE_CREATE": "Module Create",
+		"INTEGRATIONS": "Integrations",
+		"ZENDESKACCOUNTS": "Zendesk Accounts",
+		"ID": "Id",
+		"NAME": "Name",
+		"USERNAME": "Username",
+		"URI": "URL",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"EDIT_ZENDESKACCOUNT": "Edit Zendesk Account",
+		"DELETE_ZENDESKACCOUNT": "Delete Zendesk Account",
+		"NEW_ZENDESKACCOUNT": "New Zendesk Account",
+		"AUTHTYPE": "Authentication Type",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"TOKEN": "Token",
+		"MOTIONPROXYADDRESS": "Motion or Proxy IP Address",
+		"DESCRIPTION": "Description",
+		"ADD_ZENDESKACCOUNT": "Add Zendesk Account",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field",
+			"URI_REQUIRED": "Mandatory field",
+			"URI_MUST_VALID_URL": "Wrong format",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TOKEN_REQUIRED": "Mandatory field",
+			"MOTIONPROXYADDRESS_MUST_VALID_URL": "Wrong format",
+			"CLIENTID_REQUIRED": "Mandatory field",
+			"CLIENTSECRET_REQUIRED": "Mandatory field",
+			"SECURITYTOKEN_REQUIRED": "Mandatory field",
+			"APIKEY_REQUIRED": "Mandatory field",
+			"CONTENT_REQUIRED": "Mandatory field",
+			"VARIABLENAME_REQUIRED": "Mandatory field",
+			"KEY_REQUIRED": "Mandatory field",
+			"TYPE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"CONSUMERKEY_REQUIRED": "Mandatory field",
+			"CONSUMERSECRET_REQUIRED": "Mandatory field",
+			"TOKENSECRET_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"AUTHTOKEN_REQUIRED": "Mandatory field",
+			"VTIGER_USER_NAME_REQUIRED": "Mandatory field",
+			"ACCESS_KEY_REQUIRED": "Mandatory field",
+			"CODE_REQUIRED": "Povinné pole",
+			"EMAIL_REQUIRED": "Povinné pole",
+			"TENANTID_REQUIRED": "Povinné pole"
+		},
+		"HELP": {
+			"MOTIONPROXYADDRESS": "Motion (Proxy) Address: it is reqired if you want to fill the ticket body with Recording URL. Enter the address in the following format: <protocol> : //<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"CLIENTID": "Konkrétní identifikační číslo vaší aplikace",
+			"CLIENTSECRET": "Konkrétní CLientSecret vaší aplikace",
+			"CODE": "Specifický kód vygenerovaný prostřednictvím Vývojářské konzole",
+			"REFRESHTOKEN": "Automaticky generovaný obnovovací token používaný k obnovení přístupových tokenů, jejichž platnost vypršela. Při každém spuštění api se také automaticky vygeneruje přístupový token.",
+			"TICKETTYPE": "Typ lístku",
+			"ZONE": "Vyberte svou geografickou zónu (USA, AU, EU, IN, CN) a aktivujte účty Zoho specifické pro danou doménu"
+		},
+		"ACCOUNT": "Account",
+		"ZENDESKCONFIGURATIONS": "Zendesk Configurations",
+		"SALESFORCECONFIGURATIONS": "Salesforce Configurations",
+		"SUGARCRMCONFIGURATIONS": "SugarCRM Configurations",
+		"FRESHDESKCONFIGURATIONS": "Freshdesk Configurations",
+		"GENERAL": "General",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"NO_ZENDESKCONFIGURATION_AVAILABLE": "No Zendesk Configurations available",
+		"NEW_ZENDESKCONFIGURATION": "New Zendesk Configuration",
+		"ADD_ZENDESKCONFIGURATION": "Add Zendesk Configuration",
+		"EDIT_ZENDESKCONFIGURATION": "Edit Zendesk Configuration",
+		"DELETE_ZENDESKCONFIGURATION": "Delete Zendesk Configuration",
+		"NO_SALESFORCECONFIGURATION_AVAILABLE": "No Salesforce Configurations available",
+		"NEW_SALESFORCECONFIGURATION": "New Salesforce Configuration",
+		"ADD_SALESFORCECONFIGURATION": "Add Salesforce Configuration",
+		"EDIT_SALESFORCECONFIGURATION": "Edit Salesforce Configuration",
+		"DELETE_SALESFORCECONFIGURATION": "Delete Salesforce Configuration",
+		"NO_SUGARCRMCONFIGURATION_AVAILABLE": "No SugarCRM Configurations available",
+		"NEW_SUGARCRMCONFIGURATION": "New SugarCRM Configuration",
+		"ADD_SUGARCRMCONFIGURATION": "Add SugarCRM Configuration",
+		"EDIT_SUGARCRMCONFIGURATION": "Edit SugarCRM Configuration",
+		"DELETE_SUGARCRMCONFIGURATION": "Delete SugarCRM Configuration",
+		"NO_FRESHDESKCONFIGURATION_AVAILABLE": "No Freshdesk Configurations available",
+		"NEW_FRESHDESKCONFIGURATION": "New Freshdesk Configuration",
+		"ADD_FRESHDESKCONFIGURATION": "Add Freshdesk Configuration",
+		"EDIT_FRESHDESKCONFIGURATION": "Edit Freshdesk Configuration",
+		"DELETE_FRESHDESKCONFIGURATION": "Delete Freshdesk Configuration",
+		"SALESFORCEACCOUNTS": "Salesforce Accounts",
+		"EDIT_SALESFORCEACCOUNT": "Edit Salesforce Account",
+		"DELETE_SALESFORCEACCOUNT": "Delete Salesforce Account",
+		"NEW_SALESFORCEACCOUNT": "New Salesforce Account",
+		"ADD_SALESFORCEACCOUNT": "Add Salesforce Account",
+		"CLIENTID": "Client ID",
+		"CLIENTSECRET": "Client Secret",
+		"SECURITYTOKEN": "Security Token",
+		"SEARCH_FOR_ANYONE": "Search",
+		"APIKEY": "Api Key",
+		"FRESHDESKACCOUNTS": "Freshdesk Accounts",
+		"EDIT_FRESHDESKACCOUNT": "Edit Freshdesk Account",
+		"DELETE_FRESHDESKACCOUNT": "Delete Freshdesk Account",
+		"NEW_FRESHDESKACCOUNT": "New Freshdesk Account",
+		"ADD_FRESHDESKACCOUNT": "Add Freshdesk Account",
+		"SUGARCRMACCOUNTS": "SugarCRM Accounts",
+		"EDIT_SUGARCRMACCOUNT": "Edit SugarCRM Account",
+		"DELETE_SUGARCRMACCOUNT": "Delete SugarCRM Account",
+		"NEW_SUGARCRMACCOUNT": "New SugarCRM Account",
+		"ADD_SUGARCRMACCOUNT": "Add SugarCRM Account",
+		"CONFIGURATIONS": "Configurations",
+		"NO_CONFIGURATION_AVAILABLE": "No Configurations available",
+		"NEW_CONFIGURATION": "New Configuration",
+		"ADD_CONFIGURATION": "Add Configuration",
+		"EDIT_CONFIGURATION": "Edit Configuration",
+		"DELETE_CONFIGURATION": "Delete Configuration",
+		"SUBJECTS": "Subjects",
+		"DESCRIPTIONS": "Descriptions",
+		"FIELDS": "Fields",
+		"TAGS": "Tags",
+		"TYPE": "Type",
+		"CONTENT": "Content",
+		"EDIT_SUBJECT": "Edit Subject",
+		"DELETE_SUBJECT": "Delete Subject",
+		"NEW_SUBJECT": "New Subject",
+		"ADD_SUBJECT": "Add Subject",
+		"EDIT_DESCRIPTION": "Edit Description",
+		"DELETE_DESCRIPTION": "Delete Description",
+		"NEW_DESCRIPTION": "New Description",
+		"ADD_DESCRIPTION": "Add Description",
+		"EDIT_FIELD": "Edit Field",
+		"DELETE_FIELD": "Delete Field",
+		"NEW_FIELD": "New Field",
+		"ADD_FIELD": "Add Field",
+		"ADD": "Add",
+		"VOICE": "Voice",
+		"MAIL": "Email",
+		"CHAT": "Chat",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"INBOUND_IN_QUEUE": "Inbound in Queue",
+		"OUTBOUND_CALL": "Outbound Call",
+		"VALUE": "Value",
+		"FIELD": "Field",
+		"KEY": "Key",
+		"CHANNEL": "Channel",
+		"DELETE": "Delete",
+		"NO_AVAILABLE_INFO": "No available info",
+		"TEST_ZENDESKACCOUNT": "Test Zendesk Account",
+		"TEST_FRESHDESKACCOUNT": "Test Freshdesk Account",
+		"TEST_SUGARCRMACCOUNT": "Test SugerCRM Account",
+		"TEST_SALESFORCEACCOUNT": "Test Salesforce Account",
+		"INTEGRATION_TAB": "Integration Tab",
+		"NEW_TAB": "New Tab",
+		"DESKACCOUNTS": "Desk Accounts",
+		"EDIT_DESKACCOUNT": "Edit Desk Account",
+		"TEST_DESKACCOUNT": "Test Desk Account",
+		"DELETE_DESKACCOUNT": "Delete Desk Account",
+		"CONSUMERKEY": "Consumer Key",
+		"CONSUMERSECRET": "Consumer Secret",
+		"TOKENSECRET": "Token Secret",
+		"ADD_DESKACCOUNT": "Add Desk Account",
+		"NEW_DESKACCOUNT": "New Desk Account",
+		"ADD_DESKCONFIGURATION": "Add Desk Configuration",
+		"NEW_DESKCONFIGURATION": "New Desk Configuration",
+		"DELETE_DESKCONFIGURATION": "Delete Desk Configuration",
+		"ZOHOACCOUNTS": "Zoho Accounts",
+		"EDIT_ZOHOACCOUNT": "Edit Zoho Account",
+		"TEST_ZOHOACCOUNT": "Test Zoho Account",
+		"DELETE_ZOHOACCOUNT": "Delete Zoho Account",
+		"ADD_ZOHOACCOUNT": "Add Zoho Account",
+		"NEW_ZOHOACCOUNT": "New Zoho Account",
+		"ADD_ZOHOCONFIGURATION": "Add Zoho Configuration",
+		"NEW_ZOHOCONFIGURATION": "New Zoho Configuration",
+		"AUTHTOKEN": "Authorization Token",
+		"HOST": "Host",
+		"DELETE_ZOHOCONFIGURATION": "Delete Zoho Configuration",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"VTIGERACCOUNTS": "vTiger Accounts",
+		"VTIGER_USER_NAME": "vTiger User Name",
+		"MODULE_NAME": "vTiger Module Name",
+		"ACCESS_KEY": "vTiger Access Key",
+		"ADD_VTIGERACCOUNT": "Add new vTiger Account",
+		"EDIT_VTIGERACCOUNT": "Edit vTiger Account",
+		"TEST_VTIGERACCOUNT": "Test vTiger Account",
+		"DELETE_VTIGERACCOUNT": "Delete vTiger Account",
+		"NEW_VTIGERACCOUNT": "New vTiger Account",
+		"NEW_VTIGERCONFIGURATION": "Create vTiger Configuration",
+		"DELETE_VTIGERCONFIGURATION": "Delete vTiger Configuration",
+		"ADD_VTIGERCONFIGURATION": "Add vTiger Configuration",
+		"ADD_DYNAMICS365ACCOUNT": "Přidejte nový účet Dynamics365",
+		"ADD_DYNAMICS365CONFIGURATION": "Přidejte konfiguraci Dynamics365",
+		"ADD_FRESHSALESACCOUNT": "Přidejte účet Freshsales",
+		"ADD_FRESHSALESCONFIGURATION": "Přidejte konfiguraci Freshsales",
+		"ADD_SERVICENOWACCOUNT": "Přidat nový účet služby ServiceNow",
+		"ADD_SERVICENOWCONFIGURATION": "Přidejte konfiguraci ServiceNow",
+		"CASE": "Případ",
+		"CODE": "Kód vývojářské konzole",
+		"CONTACTS": "Kontakt",
+		"DELETE_DYNAMICS365ACCOUNT": "Odstraňte účet Dynamics365",
+		"DELETE_DYNAMICS365CONFIGURATION": "Odstranění konfigurace Dynamics365",
+		"DELETE_FRESHSALESACCOUNT": "Smažte účet Freshsales",
+		"DELETE_FRESHSALESCONFIGURATION": "Odstranit konfiguraci Freshsales",
+		"DELETE_SERVICENOWACCOUNT": "Odstraňte účet služby ServiceNow",
+		"DELETE_SERVICENOWCONFIGURATION": "Odstranit konfiguraci ServiceNow",
+		"DYNAMICS365ACCOUNTS": "Účty Dynamics365",
+		"EDIT_DYNAMICS365ACCOUNT": "Upravit účet Dynamics365",
+		"EDIT_FRESHSALESACCOUNT": "Upravit účet Freshsales",
+		"EDIT_FRESHSALESCONFIGURATION": "Upravit konfiguraci Freshsales",
+		"EDIT_SERVICENOWACCOUNT": "Upravit účet služby ServiceNow",
+		"EMAIL": "E-mailem",
+		"FRESHSALESACCOUNTS": "Účty Freshsales",
+		"LEADS": "Vést",
+		"MODULECREATE": "Vytvoření modulu",
+		"NEW_DYNAMICS365ACCOUNT": "Nový účet Dynamics365",
+		"NEW_DYNAMICS365CONFIGURATION": "Vytvořte konfiguraci Dynamics365",
+		"NEW_FRESHSALESACCOUNT": "Nový účet Freshsales",
+		"NEW_FRESHSALESCONFIGURATION": "Nová konfigurace Freshsales",
+		"NEW_SERVICENOWACCOUNT": "Nový účet služby ServiceNow",
+		"NEW_SERVICENOWCONFIGURATION": "Vytvořte konfiguraci ServiceNow",
+		"NO_FRESHSALESCONFIGURATION_AVAILABLE": "Nejsou k dispozici žádné konfigurace Freshsales",
+		"PHONECALL": "Telefonát",
+		"REFRESHTOKEN": "Obnovit token (generováno)",
+		"SERVICENOWACCOUNTS": "Účty ServiceNow",
+		"TASK": "Úkol",
+		"TENANTID": "Nájemce Id",
+		"TEST_DYNAMICS365ACCOUNT": "Vyzkoušejte účet Dynamics365",
+		"TEST_FRESHSALESACCOUNT": "Vyzkoušejte účet Freshsales",
+		"TEST_SERVICENOWACCOUNT": "Vyzkoušejte účet ServiceNow",
+		"TICKETTYPE": "Typ lístku",
+		"ZONE": "Pásmo"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/integrations/i18n/et.json b/public/app/main/apps/integrations/i18n/et.json
new file mode 100644
index 0000000..5f9b90b
--- /dev/null
+++ b/public/app/main/apps/integrations/i18n/et.json
@@ -0,0 +1,237 @@
+{
+	"INTEGRATIONS": {
+		"ADVANCED": "Advanced",
+		"MODULE_SEARCH": "Module Search",
+		"MODULE_CREATE": "Module Create",
+		"INTEGRATIONS": "Integrations",
+		"ZENDESKACCOUNTS": "Zendesk Accounts",
+		"ID": "Id",
+		"NAME": "Name",
+		"USERNAME": "Username",
+		"URI": "URL",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"EDIT_ZENDESKACCOUNT": "Edit Zendesk Account",
+		"DELETE_ZENDESKACCOUNT": "Delete Zendesk Account",
+		"NEW_ZENDESKACCOUNT": "New Zendesk Account",
+		"AUTHTYPE": "Authentication Type",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"TOKEN": "Token",
+		"MOTIONPROXYADDRESS": "Motion or Proxy IP Address",
+		"DESCRIPTION": "Description",
+		"ADD_ZENDESKACCOUNT": "Add Zendesk Account",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field",
+			"URI_REQUIRED": "Mandatory field",
+			"URI_MUST_VALID_URL": "Wrong format",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TOKEN_REQUIRED": "Mandatory field",
+			"MOTIONPROXYADDRESS_MUST_VALID_URL": "Wrong format",
+			"CLIENTID_REQUIRED": "Mandatory field",
+			"CLIENTSECRET_REQUIRED": "Mandatory field",
+			"SECURITYTOKEN_REQUIRED": "Mandatory field",
+			"APIKEY_REQUIRED": "Mandatory field",
+			"CONTENT_REQUIRED": "Mandatory field",
+			"VARIABLENAME_REQUIRED": "Mandatory field",
+			"KEY_REQUIRED": "Mandatory field",
+			"TYPE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"CONSUMERKEY_REQUIRED": "Mandatory field",
+			"CONSUMERSECRET_REQUIRED": "Mandatory field",
+			"TOKENSECRET_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"AUTHTOKEN_REQUIRED": "Mandatory field",
+			"VTIGER_USER_NAME_REQUIRED": "Mandatory field",
+			"ACCESS_KEY_REQUIRED": "Mandatory field",
+			"CODE_REQUIRED": "Kohustuslik väli",
+			"EMAIL_REQUIRED": "Kohustuslik väli",
+			"TENANTID_REQUIRED": "Kohustuslik väli"
+		},
+		"HELP": {
+			"MOTIONPROXYADDRESS": "Motion (Proxy) Address: it is reqired if you want to fill the ticket body with Recording URL. Enter the address in the following format: <protocol> : //<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"CLIENTID": "Teie rakenduse konkreetne kliendi ID",
+			"CLIENTSECRET": "Teie rakenduse konkreetne CLientSecret",
+			"CODE": "Arendajakonsooli kaudu genereeritud konkreetne kood",
+			"REFRESHTOKEN": "Automaatselt genereeritav värskendamisluba, mida kasutatakse aegunud juurdepääsumärkide värskendamiseks. Samuti genereeritakse pääsuluba automaatselt iga kord, kui api käivitatakse.",
+			"TICKETTYPE": "Pileti tüüp",
+			"ZONE": "Valige domeenipõhiste Zoho-kontode aktiveerimiseks oma geograafiline tsoon (USA, AU, EL, IN, CN)"
+		},
+		"ACCOUNT": "Account",
+		"ZENDESKCONFIGURATIONS": "Zendesk Configurations",
+		"SALESFORCECONFIGURATIONS": "Salesforce Configurations",
+		"SUGARCRMCONFIGURATIONS": "SugarCRM Configurations",
+		"FRESHDESKCONFIGURATIONS": "Freshdesk Configurations",
+		"GENERAL": "General",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"NO_ZENDESKCONFIGURATION_AVAILABLE": "No Zendesk Configurations available",
+		"NEW_ZENDESKCONFIGURATION": "New Zendesk Configuration",
+		"ADD_ZENDESKCONFIGURATION": "Add Zendesk Configuration",
+		"EDIT_ZENDESKCONFIGURATION": "Edit Zendesk Configuration",
+		"DELETE_ZENDESKCONFIGURATION": "Delete Zendesk Configuration",
+		"NO_SALESFORCECONFIGURATION_AVAILABLE": "No Salesforce Configurations available",
+		"NEW_SALESFORCECONFIGURATION": "New Salesforce Configuration",
+		"ADD_SALESFORCECONFIGURATION": "Add Salesforce Configuration",
+		"EDIT_SALESFORCECONFIGURATION": "Edit Salesforce Configuration",
+		"DELETE_SALESFORCECONFIGURATION": "Delete Salesforce Configuration",
+		"NO_SUGARCRMCONFIGURATION_AVAILABLE": "No SugarCRM Configurations available",
+		"NEW_SUGARCRMCONFIGURATION": "New SugarCRM Configuration",
+		"ADD_SUGARCRMCONFIGURATION": "Add SugarCRM Configuration",
+		"EDIT_SUGARCRMCONFIGURATION": "Edit SugarCRM Configuration",
+		"DELETE_SUGARCRMCONFIGURATION": "Delete SugarCRM Configuration",
+		"NO_FRESHDESKCONFIGURATION_AVAILABLE": "No Freshdesk Configurations available",
+		"NEW_FRESHDESKCONFIGURATION": "New Freshdesk Configuration",
+		"ADD_FRESHDESKCONFIGURATION": "Add Freshdesk Configuration",
+		"EDIT_FRESHDESKCONFIGURATION": "Edit Freshdesk Configuration",
+		"DELETE_FRESHDESKCONFIGURATION": "Delete Freshdesk Configuration",
+		"SALESFORCEACCOUNTS": "Salesforce Accounts",
+		"EDIT_SALESFORCEACCOUNT": "Edit Salesforce Account",
+		"DELETE_SALESFORCEACCOUNT": "Delete Salesforce Account",
+		"NEW_SALESFORCEACCOUNT": "New Salesforce Account",
+		"ADD_SALESFORCEACCOUNT": "Add Salesforce Account",
+		"CLIENTID": "Client ID",
+		"CLIENTSECRET": "Client Secret",
+		"SECURITYTOKEN": "Security Token",
+		"SEARCH_FOR_ANYONE": "Search",
+		"APIKEY": "Api Key",
+		"FRESHDESKACCOUNTS": "Freshdesk Accounts",
+		"EDIT_FRESHDESKACCOUNT": "Edit Freshdesk Account",
+		"DELETE_FRESHDESKACCOUNT": "Delete Freshdesk Account",
+		"NEW_FRESHDESKACCOUNT": "New Freshdesk Account",
+		"ADD_FRESHDESKACCOUNT": "Add Freshdesk Account",
+		"SUGARCRMACCOUNTS": "SugarCRM Accounts",
+		"EDIT_SUGARCRMACCOUNT": "Edit SugarCRM Account",
+		"DELETE_SUGARCRMACCOUNT": "Delete SugarCRM Account",
+		"NEW_SUGARCRMACCOUNT": "New SugarCRM Account",
+		"ADD_SUGARCRMACCOUNT": "Add SugarCRM Account",
+		"CONFIGURATIONS": "Configurations",
+		"NO_CONFIGURATION_AVAILABLE": "No Configurations available",
+		"NEW_CONFIGURATION": "New Configuration",
+		"ADD_CONFIGURATION": "Add Configuration",
+		"EDIT_CONFIGURATION": "Edit Configuration",
+		"DELETE_CONFIGURATION": "Delete Configuration",
+		"SUBJECTS": "Subjects",
+		"DESCRIPTIONS": "Descriptions",
+		"FIELDS": "Fields",
+		"TAGS": "Tags",
+		"TYPE": "Type",
+		"CONTENT": "Content",
+		"EDIT_SUBJECT": "Edit Subject",
+		"DELETE_SUBJECT": "Delete Subject",
+		"NEW_SUBJECT": "New Subject",
+		"ADD_SUBJECT": "Add Subject",
+		"EDIT_DESCRIPTION": "Edit Description",
+		"DELETE_DESCRIPTION": "Delete Description",
+		"NEW_DESCRIPTION": "New Description",
+		"ADD_DESCRIPTION": "Add Description",
+		"EDIT_FIELD": "Edit Field",
+		"DELETE_FIELD": "Delete Field",
+		"NEW_FIELD": "New Field",
+		"ADD_FIELD": "Add Field",
+		"ADD": "Add",
+		"VOICE": "Voice",
+		"MAIL": "Email",
+		"CHAT": "Chat",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"INBOUND_IN_QUEUE": "Inbound in Queue",
+		"OUTBOUND_CALL": "Outbound Call",
+		"VALUE": "Value",
+		"FIELD": "Field",
+		"KEY": "Key",
+		"CHANNEL": "Channel",
+		"DELETE": "Delete",
+		"NO_AVAILABLE_INFO": "No available info",
+		"TEST_ZENDESKACCOUNT": "Test Zendesk Account",
+		"TEST_FRESHDESKACCOUNT": "Test Freshdesk Account",
+		"TEST_SUGARCRMACCOUNT": "Test SugerCRM Account",
+		"TEST_SALESFORCEACCOUNT": "Test Salesforce Account",
+		"INTEGRATION_TAB": "Integration Tab",
+		"NEW_TAB": "New Tab",
+		"DESKACCOUNTS": "Desk Accounts",
+		"EDIT_DESKACCOUNT": "Edit Desk Account",
+		"TEST_DESKACCOUNT": "Test Desk Account",
+		"DELETE_DESKACCOUNT": "Delete Desk Account",
+		"CONSUMERKEY": "Consumer Key",
+		"CONSUMERSECRET": "Consumer Secret",
+		"TOKENSECRET": "Token Secret",
+		"ADD_DESKACCOUNT": "Add Desk Account",
+		"NEW_DESKACCOUNT": "New Desk Account",
+		"ADD_DESKCONFIGURATION": "Add Desk Configuration",
+		"NEW_DESKCONFIGURATION": "New Desk Configuration",
+		"DELETE_DESKCONFIGURATION": "Delete Desk Configuration",
+		"ZOHOACCOUNTS": "Zoho Accounts",
+		"EDIT_ZOHOACCOUNT": "Edit Zoho Account",
+		"TEST_ZOHOACCOUNT": "Test Zoho Account",
+		"DELETE_ZOHOACCOUNT": "Delete Zoho Account",
+		"ADD_ZOHOACCOUNT": "Add Zoho Account",
+		"NEW_ZOHOACCOUNT": "New Zoho Account",
+		"ADD_ZOHOCONFIGURATION": "Add Zoho Configuration",
+		"NEW_ZOHOCONFIGURATION": "New Zoho Configuration",
+		"AUTHTOKEN": "Authorization Token",
+		"HOST": "Host",
+		"DELETE_ZOHOCONFIGURATION": "Delete Zoho Configuration",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"VTIGERACCOUNTS": "vTiger Accounts",
+		"VTIGER_USER_NAME": "vTiger User Name",
+		"MODULE_NAME": "vTiger Module Name",
+		"ACCESS_KEY": "vTiger Access Key",
+		"ADD_VTIGERACCOUNT": "Add new vTiger Account",
+		"EDIT_VTIGERACCOUNT": "Edit vTiger Account",
+		"TEST_VTIGERACCOUNT": "Test vTiger Account",
+		"DELETE_VTIGERACCOUNT": "Delete vTiger Account",
+		"NEW_VTIGERACCOUNT": "New vTiger Account",
+		"NEW_VTIGERCONFIGURATION": "Create vTiger Configuration",
+		"DELETE_VTIGERCONFIGURATION": "Delete vTiger Configuration",
+		"ADD_VTIGERCONFIGURATION": "Add vTiger Configuration",
+		"ADD_DYNAMICS365ACCOUNT": "Lisage uus Dynamics365 konto",
+		"ADD_DYNAMICS365CONFIGURATION": "Lisage Dynamics365 konfiguratsioon",
+		"ADD_FRESHSALESACCOUNT": "Lisage värskenduste konto",
+		"ADD_FRESHSALESCONFIGURATION": "Lisage värskenduste konfiguratsioon",
+		"ADD_SERVICENOWACCOUNT": "Lisage uus ServiceNow konto",
+		"ADD_SERVICENOWCONFIGURATION": "Lisage teenuseNow konfiguratsioon",
+		"CASE": "Juhtum",
+		"CODE": "Arendaja konsooli kood",
+		"CONTACTS": "Võtke ühendust",
+		"DELETE_DYNAMICS365ACCOUNT": "Kustutage Dynamics365 konto",
+		"DELETE_DYNAMICS365CONFIGURATION": "Kustutage Dynamics365 konfiguratsioon",
+		"DELETE_FRESHSALESACCOUNT": "Kustuta värskenduste konto",
+		"DELETE_FRESHSALESCONFIGURATION": "Kustutage värskenduste konfiguratsioon",
+		"DELETE_SERVICENOWACCOUNT": "Kustuta ServiceNow konto",
+		"DELETE_SERVICENOWCONFIGURATION": "Kustutage teenuseNow konfiguratsioon",
+		"DYNAMICS365ACCOUNTS": "Dynamics365 kontod",
+		"EDIT_DYNAMICS365ACCOUNT": "Muutke rakenduse Dynamics365 kontot",
+		"EDIT_FRESHSALESACCOUNT": "Redigeeri värskenduste kontot",
+		"EDIT_FRESHSALESCONFIGURATION": "Redigeeri värskenduste konfiguratsiooni",
+		"EDIT_SERVICENOWACCOUNT": "Teenuse ServiceNow konto muutmine",
+		"EMAIL": "E-post",
+		"FRESHSALESACCOUNTS": "Värske müügi kontod",
+		"LEADS": "Plii",
+		"MODULECREATE": "Mooduli loomine",
+		"NEW_DYNAMICS365ACCOUNT": "Uus Dynamics365 konto",
+		"NEW_DYNAMICS365CONFIGURATION": "Looge Dynamics365 konfiguratsioon",
+		"NEW_FRESHSALESACCOUNT": "Uus värskete müügi konto",
+		"NEW_FRESHSALESCONFIGURATION": "Uus värskenduste konfiguratsioon",
+		"NEW_SERVICENOWACCOUNT": "Uus ServiceNow konto",
+		"NEW_SERVICENOWCONFIGURATION": "Looge teenuseNow konfiguratsioon",
+		"NO_FRESHSALESCONFIGURATION_AVAILABLE": "Värske müügi konfiguratsioone pole saadaval",
+		"PHONECALL": "Telefonikõne",
+		"REFRESHTOKEN": "Värskenda luba (loodud)",
+		"SERVICENOWACCOUNTS": "ServiceNow kontod",
+		"TASK": "Ülesanne",
+		"TENANTID": "Üürniku ID",
+		"TEST_DYNAMICS365ACCOUNT": "Testige Dynamics365 kontot",
+		"TEST_FRESHSALESACCOUNT": "Testige värskenduste kontot",
+		"TEST_SERVICENOWACCOUNT": "Test ServiceNow konto testimine",
+		"TICKETTYPE": "Pileti tüüp",
+		"ZONE": "Tsoon"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/integrations/i18n/lt.json b/public/app/main/apps/integrations/i18n/lt.json
new file mode 100644
index 0000000..a6bb26e
--- /dev/null
+++ b/public/app/main/apps/integrations/i18n/lt.json
@@ -0,0 +1,237 @@
+{
+	"INTEGRATIONS": {
+		"ZONE": "Zone",
+		"ADVANCED": "Advanced",
+		"MODULE_SEARCH": "Module Search",
+		"MODULE_CREATE": "Module Create",
+		"LEADS": "Lead",
+		"CONTACTS": "Contact",
+		"INTEGRATIONS": "Integrations",
+		"ZENDESKACCOUNTS": "Zendesk Accounts",
+		"ID": "Id",
+		"NAME": "Name",
+		"USERNAME": "Username",
+		"URI": "URL",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"EDIT_ZENDESKACCOUNT": "Edit Zendesk Account",
+		"DELETE_ZENDESKACCOUNT": "Delete Zendesk Account",
+		"NEW_ZENDESKACCOUNT": "New Zendesk Account",
+		"AUTHTYPE": "Authentication Type",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"EMAIL": "Email",
+		"TOKEN": "Token",
+		"MOTIONPROXYADDRESS": "Motion or Proxy IP Address",
+		"DESCRIPTION": "Description",
+		"ADD_ZENDESKACCOUNT": "Add Zendesk Account",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field",
+			"URI_REQUIRED": "Mandatory field",
+			"URI_MUST_VALID_URL": "Wrong format",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TOKEN_REQUIRED": "Mandatory field",
+			"MOTIONPROXYADDRESS_MUST_VALID_URL": "Wrong format",
+			"CLIENTID_REQUIRED": "Mandatory field",
+			"CLIENTSECRET_REQUIRED": "Mandatory field",
+			"SECURITYTOKEN_REQUIRED": "Mandatory field",
+			"APIKEY_REQUIRED": "Mandatory field",
+			"CONTENT_REQUIRED": "Mandatory field",
+			"VARIABLENAME_REQUIRED": "Mandatory field",
+			"KEY_REQUIRED": "Mandatory field",
+			"TYPE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"CONSUMERKEY_REQUIRED": "Mandatory field",
+			"CONSUMERSECRET_REQUIRED": "Mandatory field",
+			"TOKENSECRET_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"AUTHTOKEN_REQUIRED": "Mandatory field",
+			"VTIGER_USER_NAME_REQUIRED": "Mandatory field",
+			"ACCESS_KEY_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"TENANTID_REQUIRED": "Mandatory field",
+			"CODE_REQUIRED": "Mandatory field"
+		},
+		"HELP": {
+			"MOTIONPROXYADDRESS": "Motion (Proxy) Address: it is reqired if you want to fill the ticket body with Recording URL. Enter the address in the following format: <protocol> : //<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"TICKETTYPE": "Ticket Type",
+			"ZONE": "Choose your geographic zone (US, AU, EU, IN, CN) to activate the domain-specific Zoho Accounts",
+			"CLIENTID": "The specific CLient Id of your application",
+			"CLIENTSECRET": "The specific CLientSecret of your application",
+			"CODE": "The specific code generated through Developer Console",
+			"REFRESHTOKEN": "The automatically generated refresh token used to refresh expired access tokens. Also the access token are automatically generated each time an api is launched."
+		},
+		"CODE": "Developer Console Code",
+		"REFRESHTOKEN": "Refresh Token (generated)",
+		"ACCOUNT": "Account",
+		"ZENDESKCONFIGURATIONS": "Zendesk Configurations",
+		"SALESFORCECONFIGURATIONS": "Salesforce Configurations",
+		"SUGARCRMCONFIGURATIONS": "SugarCRM Configurations",
+		"FRESHDESKCONFIGURATIONS": "Freshdesk Configurations",
+		"GENERAL": "General",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"NO_ZENDESKCONFIGURATION_AVAILABLE": "No Zendesk Configurations available",
+		"NEW_ZENDESKCONFIGURATION": "New Zendesk Configuration",
+		"ADD_ZENDESKCONFIGURATION": "Add Zendesk Configuration",
+		"EDIT_ZENDESKCONFIGURATION": "Edit Zendesk Configuration",
+		"DELETE_ZENDESKCONFIGURATION": "Delete Zendesk Configuration",
+		"NO_SALESFORCECONFIGURATION_AVAILABLE": "No Salesforce Configurations available",
+		"NEW_SALESFORCECONFIGURATION": "New Salesforce Configuration",
+		"ADD_SALESFORCECONFIGURATION": "Add Salesforce Configuration",
+		"EDIT_SALESFORCECONFIGURATION": "Edit Salesforce Configuration",
+		"DELETE_SALESFORCECONFIGURATION": "Delete Salesforce Configuration",
+		"NO_SUGARCRMCONFIGURATION_AVAILABLE": "No SugarCRM Configurations available",
+		"NEW_SUGARCRMCONFIGURATION": "New SugarCRM Configuration",
+		"ADD_SUGARCRMCONFIGURATION": "Add SugarCRM Configuration",
+		"EDIT_SUGARCRMCONFIGURATION": "Edit SugarCRM Configuration",
+		"DELETE_SUGARCRMCONFIGURATION": "Delete SugarCRM Configuration",
+		"NO_FRESHDESKCONFIGURATION_AVAILABLE": "No Freshdesk Configurations available",
+		"NEW_FRESHDESKCONFIGURATION": "New Freshdesk Configuration",
+		"ADD_FRESHDESKCONFIGURATION": "Add Freshdesk Configuration",
+		"EDIT_FRESHDESKCONFIGURATION": "Edit Freshdesk Configuration",
+		"DELETE_FRESHDESKCONFIGURATION": "Delete Freshdesk Configuration",
+		"SALESFORCEACCOUNTS": "Salesforce Accounts",
+		"EDIT_SALESFORCEACCOUNT": "Edit Salesforce Account",
+		"DELETE_SALESFORCEACCOUNT": "Delete Salesforce Account",
+		"NEW_SALESFORCEACCOUNT": "New Salesforce Account",
+		"ADD_SALESFORCEACCOUNT": "Add Salesforce Account",
+		"CLIENTID": "Client ID",
+		"CLIENTSECRET": "Client Secret",
+		"SECURITYTOKEN": "Security Token",
+		"SEARCH_FOR_ANYONE": "Search",
+		"APIKEY": "Api Key",
+		"FRESHDESKACCOUNTS": "Freshdesk Accounts",
+		"EDIT_FRESHDESKACCOUNT": "Edit Freshdesk Account",
+		"DELETE_FRESHDESKACCOUNT": "Delete Freshdesk Account",
+		"NEW_FRESHDESKACCOUNT": "New Freshdesk Account",
+		"ADD_FRESHDESKACCOUNT": "Add Freshdesk Account",
+		"SUGARCRMACCOUNTS": "SugarCRM Accounts",
+		"EDIT_SUGARCRMACCOUNT": "Edit SugarCRM Account",
+		"DELETE_SUGARCRMACCOUNT": "Delete SugarCRM Account",
+		"NEW_SUGARCRMACCOUNT": "New SugarCRM Account",
+		"ADD_SUGARCRMACCOUNT": "Add SugarCRM Account",
+		"CONFIGURATIONS": "Configurations",
+		"NO_CONFIGURATION_AVAILABLE": "No Configurations available",
+		"NEW_CONFIGURATION": "New Configuration",
+		"ADD_CONFIGURATION": "Add Configuration",
+		"EDIT_CONFIGURATION": "Edit Configuration",
+		"DELETE_CONFIGURATION": "Delete Configuration",
+		"SUBJECTS": "Subjects",
+		"DESCRIPTIONS": "Descriptions",
+		"FIELDS": "Fields",
+		"TAGS": "Tags",
+		"TYPE": "Type",
+		"CONTENT": "Content",
+		"EDIT_SUBJECT": "Edit Subject",
+		"DELETE_SUBJECT": "Delete Subject",
+		"NEW_SUBJECT": "New Subject",
+		"ADD_SUBJECT": "Add Subject",
+		"EDIT_DESCRIPTION": "Edit Description",
+		"DELETE_DESCRIPTION": "Delete Description",
+		"NEW_DESCRIPTION": "New Description",
+		"ADD_DESCRIPTION": "Add Description",
+		"EDIT_FIELD": "Edit Field",
+		"DELETE_FIELD": "Delete Field",
+		"NEW_FIELD": "New Field",
+		"ADD_FIELD": "Add Field",
+		"ADD": "Add",
+		"VOICE": "Voice",
+		"MAIL": "Email",
+		"CHAT": "Chat",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"INBOUND_IN_QUEUE": "Inbound in Queue",
+		"OUTBOUND_CALL": "Outbound Call",
+		"VALUE": "Value",
+		"FIELD": "Field",
+		"KEY": "Key",
+		"CHANNEL": "Channel",
+		"DELETE": "Delete",
+		"NO_AVAILABLE_INFO": "No available info",
+		"TEST_ZENDESKACCOUNT": "Test Zendesk Account",
+		"TEST_FRESHDESKACCOUNT": "Test Freshdesk Account",
+		"TEST_SUGARCRMACCOUNT": "Test SugerCRM Account",
+		"TEST_SALESFORCEACCOUNT": "Test Salesforce Account",
+		"INTEGRATION_TAB": "Integration Tab",
+		"NEW_TAB": "New Tab",
+		"DESKACCOUNTS": "Desk Accounts",
+		"EDIT_DESKACCOUNT": "Edit Desk Account",
+		"TEST_DESKACCOUNT": "Test Desk Account",
+		"DELETE_DESKACCOUNT": "Delete Desk Account",
+		"CONSUMERKEY": "Consumer Key",
+		"CONSUMERSECRET": "Consumer Secret",
+		"TOKENSECRET": "Token Secret",
+		"ADD_DESKACCOUNT": "Add Desk Account",
+		"NEW_DESKACCOUNT": "New Desk Account",
+		"ADD_DESKCONFIGURATION": "Add Desk Configuration",
+		"NEW_DESKCONFIGURATION": "New Desk Configuration",
+		"DELETE_DESKCONFIGURATION": "Delete Desk Configuration",
+		"ZOHOACCOUNTS": "Zoho Accounts",
+		"EDIT_ZOHOACCOUNT": "Edit Zoho Account",
+		"TEST_ZOHOACCOUNT": "Test Zoho Account",
+		"DELETE_ZOHOACCOUNT": "Delete Zoho Account",
+		"ADD_ZOHOACCOUNT": "Add Zoho Account",
+		"NEW_ZOHOACCOUNT": "New Zoho Account",
+		"ADD_ZOHOCONFIGURATION": "Add Zoho Configuration",
+		"NEW_ZOHOCONFIGURATION": "New Zoho Configuration",
+		"AUTHTOKEN": "Authorization Token",
+		"HOST": "Host",
+		"DELETE_ZOHOCONFIGURATION": "Delete Zoho Configuration",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"VTIGERACCOUNTS": "vTiger Accounts",
+		"VTIGER_USER_NAME": "vTiger User Name",
+		"MODULE_NAME": "vTiger Module Name",
+		"ACCESS_KEY": "vTiger Access Key",
+		"ADD_VTIGERACCOUNT": "Add new vTiger Account",
+		"EDIT_VTIGERACCOUNT": "Edit vTiger Account",
+		"TEST_VTIGERACCOUNT": "Test vTiger Account",
+		"DELETE_VTIGERACCOUNT": "Delete vTiger Account",
+		"NEW_VTIGERACCOUNT": "New vTiger Account",
+		"NEW_VTIGERCONFIGURATION": "Create vTiger Configuration",
+		"DELETE_VTIGERCONFIGURATION": "Delete vTiger Configuration",
+		"ADD_VTIGERCONFIGURATION": "Add vTiger Configuration",
+		"FRESHSALESACCOUNTS": "Freshsales Accounts",
+		"EDIT_FRESHSALESACCOUNT": "Edit Freshsales Account",
+		"DELETE_FRESHSALESACCOUNT": "Delete Freshsales Account",
+		"NEW_FRESHSALESACCOUNT": "New Freshsales Account",
+		"ADD_FRESHSALESACCOUNT": "Add Freshsales Account",
+		"NO_FRESHSALESCONFIGURATION_AVAILABLE": "No Freshsales Configurations available",
+		"NEW_FRESHSALESCONFIGURATION": "New Freshsales Configuration",
+		"ADD_FRESHSALESCONFIGURATION": "Add Freshsales Configuration",
+		"EDIT_FRESHSALESCONFIGURATION": "Edit Freshsales Configuration",
+		"DELETE_FRESHSALESCONFIGURATION": "Delete Freshsales Configuration",
+		"TEST_FRESHSALESACCOUNT": "Test Freshsales Account",
+		"SERVICENOWACCOUNTS": "ServiceNow Accounts",
+		"ADD_SERVICENOWACCOUNT": "Add new ServiceNow Account",
+		"EDIT_SERVICENOWACCOUNT": "Edit ServiceNow Account",
+		"TEST_SERVICENOWACCOUNT": "Test ServiceNow Account",
+		"DELETE_SERVICENOWACCOUNT": "Delete ServiceNow Account",
+		"NEW_SERVICENOWACCOUNT": "New ServiceNow Account",
+		"NEW_SERVICENOWCONFIGURATION": "Create ServiceNow Configuration",
+		"DELETE_SERVICENOWCONFIGURATION": "Delete ServiceNow Configuration",
+		"ADD_SERVICENOWCONFIGURATION": "Add ServiceNow Configuration",
+		"DYNAMICS365ACCOUNTS": "Dynamics365 Accounts",
+		"TENANTID": "Tenant Id",
+		"ADD_DYNAMICS365ACCOUNT": "Add new Dynamics365 Account",
+		"EDIT_DYNAMICS365ACCOUNT": "Edit Dynamics365 Account",
+		"TEST_DYNAMICS365ACCOUNT": "Test Dynamics365 Account",
+		"DELETE_DYNAMICS365ACCOUNT": "Delete Dynamics365 Account",
+		"NEW_DYNAMICS365ACCOUNT": "New Dynamics365 Account",
+		"NEW_DYNAMICS365CONFIGURATION": "Create Dynamics365 Configuration",
+		"DELETE_DYNAMICS365CONFIGURATION": "Delete Dynamics365 Configuration",
+		"ADD_DYNAMICS365CONFIGURATION": "Add Dynamics365 Configuration",
+		"TICKETTYPE": "Ticket Type",
+		"CASE": "Case",
+		"PHONECALL": "Phonecall",
+		"TASK": "Task",
+		"MODULECREATE": "Module Create"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/jscripty/i18n/cs.json b/public/app/main/apps/jscripty/i18n/cs.json
new file mode 100644
index 0000000..1df5430
--- /dev/null
+++ b/public/app/main/apps/jscripty/i18n/cs.json
@@ -0,0 +1,228 @@
+{
+	"JSCRIPTY": {
+		"CLONE_PROJECT": "Clone Project",
+		"NAME": "Name",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DESCRIPTION": "Description",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format"
+		},
+		"SAVE": "Save",
+		"PROJECTS": "Projects",
+		"ADD_PROJECT": "Add Project",
+		"EDIT_PROJECT": "Edit Project",
+		"DELETE_PROJECT": "Delete Project",
+		"JSCRIPTY": "Jscripty",
+		"ID": "Id",
+		"PROJECT": "Project",
+		"CREATED_AT": "Created At",
+		"NEW_PROJECT": "New Project",
+		"EDIT": "Edit",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"BUILDER": "Builder",
+		"PREVIEW": "Preview",
+		"OPEN_CONTACT": "Open Contact",
+		"HELP": {
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"ENABLEUNCOMPLETESAVE": "Allow to save the agent session even if the survey is not complete",
+			"SENDUNPAUSEONSUBMIT": "Na konci průzkumu automaticky zastavte agentovu pauzu"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"JSCRIPTYSESSIONS": "Project Sessions",
+		"SESSIONS": "Sessions",
+		"STARTTIME": "Start Time",
+		"ENDTIME": "End Time",
+		"MEMBERNAME": "Member Name",
+		"CALLERIDNUM": "Caller Number",
+		"NO_SESSION_AVAILABLE": "No Sessions available",
+		"SESSION_RESULTS": "Session Results",
+		"SHOW_QUESTIONS_SESSION": "Show Session Results",
+		"ANSWERS": "Answers",
+		"NO_RESULTS_AVAILABLE": "No results available",
+		"TOTAL": "Total",
+		"ANSWER": "Answer",
+		"EXPORT_TO_CSV": "Export to CSV",
+		"NO_ANSWERS_AVAILABLE": "No answers available",
+		"DELETE_SESSION": "Delete Session",
+		"RESET_SESSION": "Reset Session",
+		"YES": "Yes",
+		"NO": "No",
+		"DO_YOU_WANT_TO_RESET_SESSION": "Do you want to reset the session?",
+		"ALL_SURVEY_DATA_WILL_BE_LOST": "All survey answers will be lost!",
+		"ENABLEUNCOMPLETESAVE": "Enable incomplete save",
+		"SUBMIT": "Submit",
+		"PROJECT_NOT_AVAILABLE": "Project is not available. Please contact the administrator",
+		"COMPLETE": "Complete",
+		"SESSIONS_PROJECT": "Go to Sessions",
+		"SENDUNPAUSEONSUBMIT": "Pozastavte agenta při odeslání"
+	},
+	"mwForm": {
+		"form": {
+			"name": "Title",
+			"name.placeholder": "Form title",
+			"description": "Description"
+		},
+		"buttons": {
+			"addPage": "Add page",
+			"moveDown": "Move down",
+			"moveUp": "Move up",
+			"removePage": "Remove page",
+			"remove": "Remove",
+			"addElement": "Add element",
+			"questionReady": "Ready",
+			"next": "Next",
+			"back": "Back",
+			"submit": "Submit",
+			"begin": "Begin",
+			"fold": "Fold",
+			"unfold": "Unfold",
+			"edit": "Edit",
+			"clone": "Clone",
+			"view": "View"
+		},
+		"page": {
+			"tab": {
+				"heading": "Page {{page}} of {{allPages}}"
+			},
+			"elements": {
+				"empty": "Empty page"
+			},
+			"pageWithNameCheckbox": "named",
+			"name": "Page name"
+		},
+		"pageFlow": {
+			"afterPage": "After page {{page}}:",
+			"afterQuestionAnswer": "Go to page based on answer",
+			"goToPage": "Go to page {{page.number}}",
+			"goToNextPage": "Continue to next page",
+			"submitForm": "Submit form"
+		},
+		"elements": {
+			"question": "Question",
+			"image": "Image",
+			"paragraph": "Paragraph"
+		},
+		"question": {
+			"types": {
+				"text": {
+					"name": "Short text"
+				},
+				"textarea": {
+					"name": "Long text"
+				},
+				"radio": {
+					"name": "Radio"
+				},
+				"select": {
+					"name": "Select"
+				},
+				"checkbox": {
+					"name": "Checkboxes"
+				},
+				"grid": {
+					"name": "Grid"
+				},
+				"priority": {
+					"name": "Priority"
+				},
+				"division": {
+					"name": "Division"
+				},
+				"number": {
+					"name": "Number"
+				},
+				"date": {
+					"name": "Date"
+				},
+				"datetime": {
+					"name": "Datetime"
+				},
+				"time": {
+					"name": "Time"
+				},
+				"email": {
+					"name": "Email"
+				},
+				"range": {
+					"name": "Range"
+				},
+				"url": {
+					"name": "URL"
+				}
+			},
+			"text": "Question text",
+			"type": "Question type",
+			"required": "Required",
+			"preview": {
+				"text": "Short answer text",
+				"textarea": "Long answer text",
+				"otherAnswer": "Other"
+			},
+			"division": {
+				"quantity": "Quantity",
+				"unit": "Unit label",
+				"assignedSumLabel": "Assigned",
+				"fromRequiredLabel": "from required"
+			},
+			"priority": {
+				"sorted": "Sorted",
+				"available": "Available",
+				"clickToAddItem": "Click to add item"
+			},
+			"grid": {
+				"cellInputType": "Cell input type",
+				"cellInputTypes": {
+					"radio": "Radio",
+					"checkbox": "Checkbox",
+					"text": "Text",
+					"number": "Number",
+					"date": "Date",
+					"time": "Time"
+				},
+				"rowLabel": "Row {{row}}",
+				"clickToAddRow": "Click to add row",
+				"columnLabel": "Column {{col}}",
+				"clickToAddColumn": "Click to add column"
+			},
+			"range": {
+				"from": "Range from",
+				"to": "to"
+			},
+			"number": {
+				"min": "Min",
+				"max": "Max"
+			},
+			"orLabel": "or ",
+			"otherLabel": "Other: ",
+			"userAnswer": "User answer",
+			"buttons": {
+				"addOption": "Click to add option",
+				"addOther": "Add 'Other'"
+			}
+		},
+		"image": {
+			"selectImageButton": "Select image",
+			"caption": "Image caption"
+		},
+		"paragraph": {
+			"placeholder": "Enter paragraph text"
+		},
+		"confirmationPage": {
+			"title": "Confirmation page",
+			"customMessage": "Custom confirmation message",
+			"defaultMessage": "Your response has been saved",
+			"errorMessage": "Error! Your response has not been saved",
+			"pendingMessage": "Your response is being saved"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/jscripty/i18n/et.json b/public/app/main/apps/jscripty/i18n/et.json
new file mode 100644
index 0000000..f02f02b
--- /dev/null
+++ b/public/app/main/apps/jscripty/i18n/et.json
@@ -0,0 +1,228 @@
+{
+	"JSCRIPTY": {
+		"CLONE_PROJECT": "Clone Project",
+		"NAME": "Name",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DESCRIPTION": "Description",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format"
+		},
+		"SAVE": "Save",
+		"PROJECTS": "Projects",
+		"ADD_PROJECT": "Add Project",
+		"EDIT_PROJECT": "Edit Project",
+		"DELETE_PROJECT": "Delete Project",
+		"JSCRIPTY": "Jscripty",
+		"ID": "Id",
+		"PROJECT": "Project",
+		"CREATED_AT": "Created At",
+		"NEW_PROJECT": "New Project",
+		"EDIT": "Edit",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"BUILDER": "Builder",
+		"PREVIEW": "Preview",
+		"OPEN_CONTACT": "Open Contact",
+		"HELP": {
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"ENABLEUNCOMPLETESAVE": "Allow to save the agent session even if the survey is not complete",
+			"SENDUNPAUSEONSUBMIT": "Uuringu lõpus peatage agendi paus automaatselt"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"JSCRIPTYSESSIONS": "Project Sessions",
+		"SESSIONS": "Sessions",
+		"STARTTIME": "Start Time",
+		"ENDTIME": "End Time",
+		"MEMBERNAME": "Member Name",
+		"CALLERIDNUM": "Caller Number",
+		"NO_SESSION_AVAILABLE": "No Sessions available",
+		"SESSION_RESULTS": "Session Results",
+		"SHOW_QUESTIONS_SESSION": "Show Session Results",
+		"ANSWERS": "Answers",
+		"NO_RESULTS_AVAILABLE": "No results available",
+		"TOTAL": "Total",
+		"ANSWER": "Answer",
+		"EXPORT_TO_CSV": "Export to CSV",
+		"NO_ANSWERS_AVAILABLE": "No answers available",
+		"DELETE_SESSION": "Delete Session",
+		"RESET_SESSION": "Reset Session",
+		"YES": "Yes",
+		"NO": "No",
+		"DO_YOU_WANT_TO_RESET_SESSION": "Do you want to reset the session?",
+		"ALL_SURVEY_DATA_WILL_BE_LOST": "All survey answers will be lost!",
+		"ENABLEUNCOMPLETESAVE": "Enable incomplete save",
+		"SUBMIT": "Submit",
+		"PROJECT_NOT_AVAILABLE": "Project is not available. Please contact the administrator",
+		"COMPLETE": "Complete",
+		"SESSIONS_PROJECT": "Go to Sessions",
+		"SENDUNPAUSEONSUBMIT": "Peata esindaja saatmisel"
+	},
+	"mwForm": {
+		"form": {
+			"name": "Title",
+			"name.placeholder": "Form title",
+			"description": "Description"
+		},
+		"buttons": {
+			"addPage": "Add page",
+			"moveDown": "Move down",
+			"moveUp": "Move up",
+			"removePage": "Remove page",
+			"remove": "Remove",
+			"addElement": "Add element",
+			"questionReady": "Ready",
+			"next": "Next",
+			"back": "Back",
+			"submit": "Submit",
+			"begin": "Begin",
+			"fold": "Fold",
+			"unfold": "Unfold",
+			"edit": "Edit",
+			"clone": "Clone",
+			"view": "View"
+		},
+		"page": {
+			"tab": {
+				"heading": "Page {{page}} of {{allPages}}"
+			},
+			"elements": {
+				"empty": "Empty page"
+			},
+			"pageWithNameCheckbox": "named",
+			"name": "Page name"
+		},
+		"pageFlow": {
+			"afterPage": "After page {{page}}:",
+			"afterQuestionAnswer": "Go to page based on answer",
+			"goToPage": "Go to page {{page.number}}",
+			"goToNextPage": "Continue to next page",
+			"submitForm": "Submit form"
+		},
+		"elements": {
+			"question": "Question",
+			"image": "Image",
+			"paragraph": "Paragraph"
+		},
+		"question": {
+			"types": {
+				"text": {
+					"name": "Short text"
+				},
+				"textarea": {
+					"name": "Long text"
+				},
+				"radio": {
+					"name": "Radio"
+				},
+				"select": {
+					"name": "Select"
+				},
+				"checkbox": {
+					"name": "Checkboxes"
+				},
+				"grid": {
+					"name": "Grid"
+				},
+				"priority": {
+					"name": "Priority"
+				},
+				"division": {
+					"name": "Division"
+				},
+				"number": {
+					"name": "Number"
+				},
+				"date": {
+					"name": "Date"
+				},
+				"datetime": {
+					"name": "Datetime"
+				},
+				"time": {
+					"name": "Time"
+				},
+				"email": {
+					"name": "Email"
+				},
+				"range": {
+					"name": "Range"
+				},
+				"url": {
+					"name": "URL"
+				}
+			},
+			"text": "Question text",
+			"type": "Question type",
+			"required": "Required",
+			"preview": {
+				"text": "Short answer text",
+				"textarea": "Long answer text",
+				"otherAnswer": "Other"
+			},
+			"division": {
+				"quantity": "Quantity",
+				"unit": "Unit label",
+				"assignedSumLabel": "Assigned",
+				"fromRequiredLabel": "from required"
+			},
+			"priority": {
+				"sorted": "Sorted",
+				"available": "Available",
+				"clickToAddItem": "Click to add item"
+			},
+			"grid": {
+				"cellInputType": "Cell input type",
+				"cellInputTypes": {
+					"radio": "Radio",
+					"checkbox": "Checkbox",
+					"text": "Text",
+					"number": "Number",
+					"date": "Date",
+					"time": "Time"
+				},
+				"rowLabel": "Row {{row}}",
+				"clickToAddRow": "Click to add row",
+				"columnLabel": "Column {{col}}",
+				"clickToAddColumn": "Click to add column"
+			},
+			"range": {
+				"from": "Range from",
+				"to": "to"
+			},
+			"number": {
+				"min": "Min",
+				"max": "Max"
+			},
+			"orLabel": "or ",
+			"otherLabel": "Other: ",
+			"userAnswer": "User answer",
+			"buttons": {
+				"addOption": "Click to add option",
+				"addOther": "Add 'Other'"
+			}
+		},
+		"image": {
+			"selectImageButton": "Select image",
+			"caption": "Image caption"
+		},
+		"paragraph": {
+			"placeholder": "Enter paragraph text"
+		},
+		"confirmationPage": {
+			"title": "Confirmation page",
+			"customMessage": "Custom confirmation message",
+			"defaultMessage": "Your response has been saved",
+			"errorMessage": "Error! Your response has not been saved",
+			"pendingMessage": "Your response is being saved"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/jscripty/i18n/lt.json b/public/app/main/apps/jscripty/i18n/lt.json
new file mode 100644
index 0000000..66b1772
--- /dev/null
+++ b/public/app/main/apps/jscripty/i18n/lt.json
@@ -0,0 +1,228 @@
+{
+	"JSCRIPTY": {
+		"CLONE_PROJECT": "Clone Project",
+		"NAME": "Name",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DESCRIPTION": "Description",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format"
+		},
+		"SAVE": "Save",
+		"PROJECTS": "Projects",
+		"ADD_PROJECT": "Add Project",
+		"EDIT_PROJECT": "Edit Project",
+		"DELETE_PROJECT": "Delete Project",
+		"JSCRIPTY": "Jscripty",
+		"ID": "Id",
+		"PROJECT": "Project",
+		"CREATED_AT": "Created At",
+		"NEW_PROJECT": "New Project",
+		"EDIT": "Edit",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"BUILDER": "Builder",
+		"PREVIEW": "Preview",
+		"OPEN_CONTACT": "Open Contact",
+		"SENDUNPAUSEONSUBMIT": "Unpause agent on Submit",
+		"HELP": {
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"ENABLEUNCOMPLETESAVE": "Allow to save the agent session even if the survey is not complete",
+			"SENDUNPAUSEONSUBMIT": "At the end of the survey, automatically stop the agent's pause"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"JSCRIPTYSESSIONS": "Project Sessions",
+		"SESSIONS": "Sessions",
+		"STARTTIME": "Start Time",
+		"ENDTIME": "End Time",
+		"MEMBERNAME": "Member Name",
+		"CALLERIDNUM": "Caller Number",
+		"NO_SESSION_AVAILABLE": "No Sessions available",
+		"SESSION_RESULTS": "Session Results",
+		"SHOW_QUESTIONS_SESSION": "Show Session Results",
+		"ANSWERS": "Answers",
+		"NO_RESULTS_AVAILABLE": "No results available",
+		"TOTAL": "Total",
+		"ANSWER": "Answer",
+		"EXPORT_TO_CSV": "Export to CSV",
+		"NO_ANSWERS_AVAILABLE": "No answers available",
+		"DELETE_SESSION": "Delete Session",
+		"RESET_SESSION": "Reset Session",
+		"YES": "Yes",
+		"NO": "No",
+		"DO_YOU_WANT_TO_RESET_SESSION": "Do you want to reset the session?",
+		"ALL_SURVEY_DATA_WILL_BE_LOST": "All survey answers will be lost!",
+		"ENABLEUNCOMPLETESAVE": "Enable incomplete save",
+		"SUBMIT": "Submit",
+		"PROJECT_NOT_AVAILABLE": "Project is not available. Please contact the administrator",
+		"COMPLETE": "Complete",
+		"SESSIONS_PROJECT": "Go to Sessions"
+	},
+	"mwForm": {
+		"form": {
+			"name": "Title",
+			"name.placeholder": "Form title",
+			"description": "Description"
+		},
+		"buttons": {
+			"addPage": "Add page",
+			"moveDown": "Move down",
+			"moveUp": "Move up",
+			"removePage": "Remove page",
+			"remove": "Remove",
+			"addElement": "Add element",
+			"questionReady": "Ready",
+			"next": "Next",
+			"back": "Back",
+			"submit": "Submit",
+			"begin": "Begin",
+			"fold": "Fold",
+			"unfold": "Unfold",
+			"edit": "Edit",
+			"clone": "Clone",
+			"view": "View"
+		},
+		"page": {
+			"tab": {
+				"heading": "Page {{page}} of {{allPages}}"
+			},
+			"elements": {
+				"empty": "Empty page"
+			},
+			"pageWithNameCheckbox": "named",
+			"name": "Page name"
+		},
+		"pageFlow": {
+			"afterPage": "After page {{page}}:",
+			"afterQuestionAnswer": "Go to page based on answer",
+			"goToPage": "Go to page {{page.number}}",
+			"goToNextPage": "Continue to next page",
+			"submitForm": "Submit form"
+		},
+		"elements": {
+			"question": "Question",
+			"image": "Image",
+			"paragraph": "Paragraph"
+		},
+		"question": {
+			"types": {
+				"text": {
+					"name": "Short text"
+				},
+				"textarea": {
+					"name": "Long text"
+				},
+				"radio": {
+					"name": "Radio"
+				},
+				"select": {
+					"name": "Select"
+				},
+				"checkbox": {
+					"name": "Checkboxes"
+				},
+				"grid": {
+					"name": "Grid"
+				},
+				"priority": {
+					"name": "Priority"
+				},
+				"division": {
+					"name": "Division"
+				},
+				"number": {
+					"name": "Number"
+				},
+				"date": {
+					"name": "Date"
+				},
+				"datetime": {
+					"name": "Datetime"
+				},
+				"time": {
+					"name": "Time"
+				},
+				"email": {
+					"name": "Email"
+				},
+				"range": {
+					"name": "Range"
+				},
+				"url": {
+					"name": "URL"
+				}
+			},
+			"text": "Question text",
+			"type": "Question type",
+			"required": "Required",
+			"preview": {
+				"text": "Short answer text",
+				"textarea": "Long answer text",
+				"otherAnswer": "Other"
+			},
+			"division": {
+				"quantity": "Quantity",
+				"unit": "Unit label",
+				"assignedSumLabel": "Assigned",
+				"fromRequiredLabel": "from required"
+			},
+			"priority": {
+				"sorted": "Sorted",
+				"available": "Available",
+				"clickToAddItem": "Click to add item"
+			},
+			"grid": {
+				"cellInputType": "Cell input type",
+				"cellInputTypes": {
+					"radio": "Radio",
+					"checkbox": "Checkbox",
+					"text": "Text",
+					"number": "Number",
+					"date": "Date",
+					"time": "Time"
+				},
+				"rowLabel": "Row {{row}}",
+				"clickToAddRow": "Click to add row",
+				"columnLabel": "Column {{col}}",
+				"clickToAddColumn": "Click to add column"
+			},
+			"range": {
+				"from": "Range from",
+				"to": "to"
+			},
+			"number": {
+				"min": "Min",
+				"max": "Max"
+			},
+			"orLabel": "or ",
+			"otherLabel": "Other: ",
+			"userAnswer": "User answer",
+			"buttons": {
+				"addOption": "Click to add option",
+				"addOther": "Add 'Other'"
+			}
+		},
+		"image": {
+			"selectImageButton": "Select image",
+			"caption": "Image caption"
+		},
+		"paragraph": {
+			"placeholder": "Enter paragraph text"
+		},
+		"confirmationPage": {
+			"title": "Confirmation page",
+			"customMessage": "Custom confirmation message",
+			"defaultMessage": "Your response has been saved",
+			"errorMessage": "Error! Your response has not been saved",
+			"pendingMessage": "Your response is being saved"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/mail/i18n/cs.json b/public/app/main/apps/mail/i18n/cs.json
new file mode 100644
index 0000000..e56e270
--- /dev/null
+++ b/public/app/main/apps/mail/i18n/cs.json
@@ -0,0 +1,324 @@
+{
+	"MAIL": {
+		"DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments",
+		"DOWNLOAD": "Download",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"YOU_ARE_REGISTERED_AS_A": "You are registered as a",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"SEND_AS": "Send as",
+		"NEW_MAILSUBSTATUS": "New Sub Status",
+		"ADD_MAILSUBSTATUS": "Add Sub Status",
+		"MAILSUBSTATUSES": "Email Sub Statuses",
+		"EDIT_MAILSUBSTATUS": "Edit",
+		"DELETE_MAILSUBSTATUS": "Delete",
+		"FONT_FAMILY": "Font Family",
+		"FONT_SIZE": "Font Size",
+		"MARK_AS_UNREAD": "Mark as unread",
+		"ACCEPTED": "Accepted",
+		"CANNEDANSWERS": "Canned Answers",
+		"MAILCANNEDANSWERS": "Canned Answers",
+		"NO_MAILCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_MAILCANNEDANSWER": "New Canned Answer",
+		"ADD_MAILCANNEDANSWER": "Add Canned Answer",
+		"EDIT_MAILCANNEDANSWER": "Edit Canned Answer",
+		"DELETE_MAILCANNEDANSWER": "Delete Canned Answer",
+		"SHOW_ORIGINAL_MESSAGE": "Show original message",
+		"PENDING": "Pending",
+		"SEND_AS_PENDING": "Send as Pending",
+		"SEND_AND_CLOSE": "Send and Close",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"SPYINTERACTION": "Spy",
+		"ADD_NOTE": "Add note",
+		"NOTE": "Note",
+		"TAGS": "Tags",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_MAILQUEUE": "Go To Realtime Mail Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to Email queue",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open channel",
+		"FAX": "Fax",
+		"REALTIME": "Realtime",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"ACCOUNTS": "Accounts",
+		"FULLNAME": "Full Name",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGGED_IN": "Logged In",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"TOTAL": "Total",
+		"IN": "In",
+		"OUT": "Out",
+		"IMAP_STATUS": "IMAP Status",
+		"SMTP_STATUS": "SMTP Status",
+		"DISABLED": "Disabled",
+		"CONNECTED": "Connected",
+		"NEVER_VERIFIED": "Never Verified",
+		"ERROR": "Error",
+		"EDIT_ACCOUNT": "Edit Account",
+		"VERIFY_SMTP": "Verify SMTP",
+		"VERIFIED": "Verified",
+		"VERIFYSMTP_MAILACCOUNT": "Verify SMTP",
+		"GOTOREALTIME_MAILACCOUNT": "Go to Realtime Email Account",
+		"GOTO_MAILACCOUNT": "Go to Realtime Email Account",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"SHOW_AUTOREPLY": "Show Auto Reply",
+		"SHOW_DETAILS": "Show details",
+		"HIDE_DETAILS": "Hide details",
+		"TO": "To",
+		"FROM": "From",
+		"DATE": "Date",
+		"CC": "Cc",
+		"REPLY": "Reply",
+		"REPLY_ALL": "Reply All",
+		"FORWARD": "Forward",
+		"SUBJECT": "Subject",
+		"BCC": "Bcc",
+		"SEND": "Send",
+		"ATTACHMENT": "Attachment",
+		"ATTACHMENTS": "Attachments",
+		"NAME": "Name",
+		"MAILQUEUES": "Email Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"FONT_SIZE_REQUIRED": "Mandatory Field",
+			"FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"EMAIL_ADDRESS_REQUIRED": "Mandatory Field",
+			"EMAIL_ADDRESS_MUST_VALID": "Wrong format",
+			"HOST_REQUIRED": "Mandatory Field",
+			"USERNAME_REQUIRED": "Mandatory Field",
+			"PORT_REQUIRED": "Mandatory Field",
+			"CONNTIMEOUT_REQUIRED": "Mandatory Field",
+			"AUTHTIMEOUT_REQUIRED": "Mandatory Field",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"SERVICE_REQUIRED": "Mandatory Field",
+			"IMAP_HOST_REQUIRED": "Mandatory Field",
+			"IMAP_PORT_REQUIRED": "Mandatory Field",
+			"SMTP_HOST_REQUIRED": "Mandatory Field",
+			"SMTP_PORT_REQUIRED": "Mandatory Field",
+			"CONFIRM_NOT_MATCH": "The passwords inserted don't match",
+			"KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole"
+		},
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_MAILQUEUE": "Add Email Queue",
+		"EDIT_MAILQUEUE": "Edit Email Queue",
+		"DELETE_MAILQUEUE": "Delete Email Queue",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"SAVE": "Save",
+		"MAILACCOUNTS": "Email Accounts",
+		"EMAIL_ADDRESS": "Email Address",
+		"ADD_MAILACCOUNT": "Add Email Account",
+		"EDIT_MAILACCOUNT": "Edit Email Account",
+		"DELETE_MAILACCOUNT": "Delete Email Accounts",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"OTHERS": "Others",
+		"LIST": "List",
+		"TEMPLATE": "Template",
+		"FIDELITY": "Fidelity",
+		"SERVICE": "Service",
+		"CREATED_AT": "Created At",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"WHITELABEL": "White Label",
+		"SIGNATURE": "Signature",
+		"IMAP": "IMAP",
+		"HOST": "Host",
+		"USERNAME": "Username",
+		"PORT": "Port",
+		"MAILBOX": "Mailbox",
+		"FILTER": "Filter",
+		"CONNTIMEOUT": "Connection Timeout [sec]",
+		"AUTHTIMEOUT": "Authentication Timeout [sec]",
+		"DELETE": "Delete Email From Server",
+		"SSL": "SSL",
+		"KEEPALIVE": "Keepalive",
+		"POLLING": "Polling",
+		"SMTP": "SMTP",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"MAIL": "Email",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"PASSWORD": "Password",
+		"NO_MAILDISPOSITION_AVAILABLE": "No Email Dispositions available",
+		"ADD_MAILDISPOSITION": "Add Email Disposition",
+		"NEW_MAILDISPOSITION": "New Email Disposition",
+		"EDIT_MAILDISPOSITION": "Edit Email Disposition",
+		"DELETE_MAILDISPOSITION": "Delete Email Disposition",
+		"MAILDISPOSITIONS": "Email Dispositions",
+		"NEW_MAILQUEUE": "New Email Queue",
+		"NEW_MAILACCOUNT": "New Email Account",
+		"NO_AVAILABLE_INFO": "No availables info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"HELP": {
+			"FONT_FAMILY": "Default Font Family",
+			"FONT_SIZE": "Default Font Size",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"USERNAME": "Username used for authentication",
+			"PASSWORD": "Password used for authentication",
+			"SECURE": "If true, the connection will use TLS when connecting to server",
+			"MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction",
+			"MANDATORYDISPOSITION": "Povinná dispozice",
+			"MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"TEAMADD_MAILQUEUE": "Add Team to Email Queue",
+		"AGENTADD_MAILQUEUE": "Add Agent to Email Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"AGENT": "Agent",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_CLOSE": "Edit Close",
+		"DISPOSITION": "Disposition",
+		"GOTOIF": "GotoIf",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"GOTOP": "GotoP",
+		"EDIT_GOTOP": "Edit GotoP",
+		"PRIORITY": "Priority",
+		"NOOP": "Noop",
+		"EDIT_NOOP": "Edit Noop",
+		"VALUE": "Value",
+		"QUEUE": "Queue",
+		"EDIT_QUEUE": "Edit Queue",
+		"INTERACTIONS": "Interactions",
+		"STARTEDAT": "Started At",
+		"CONTACT": "Contact",
+		"CLOSEDAT": "Closed At",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"ACTIVE": "Active",
+		"SECURE": "Secure",
+		"AUTHENTICATION": "Authentication",
+		"SMTP_HOST": "SMTP Host",
+		"SMTP_PORT": "SMTP Port",
+		"IMAP_HOST": "IMAP Host",
+		"IMAP_PORT": "IMAP Port",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"SELECT_STATUS": "Select Status",
+		"OPENED": "Open",
+		"CLOSED": "Closed",
+		"ALL": "All",
+		"SELECT_ACCOUNT": "Select Account",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"OPEN": "Open",
+		"KEY": "Key",
+		"SMTPSERVICE": "SMTP Service",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTSADD_QUEUE": "Add agents to Email Queue",
+		"INFO": "Info",
+		"INTERACTIONS_MAILACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_MAILACCOUNT": "Add Agent to Email Account",
+		"ADVANCED": "Pokročilý",
+		"DOWNLOAD_WITHOUT_ATTACHMENT": "Stahujte bez přílohy",
+		"DOWNLOAD_WITH_ATTACHMENT": "Stáhnout s přílohou",
+		"LASTMESSAGE": "Poslední zpráva",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+		"TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/mail/i18n/et.json b/public/app/main/apps/mail/i18n/et.json
new file mode 100644
index 0000000..76d5a04
--- /dev/null
+++ b/public/app/main/apps/mail/i18n/et.json
@@ -0,0 +1,324 @@
+{
+	"MAIL": {
+		"DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments",
+		"DOWNLOAD": "Download",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"YOU_ARE_REGISTERED_AS_A": "You are registered as a",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"SEND_AS": "Send as",
+		"NEW_MAILSUBSTATUS": "New Sub Status",
+		"ADD_MAILSUBSTATUS": "Add Sub Status",
+		"MAILSUBSTATUSES": "Email Sub Statuses",
+		"EDIT_MAILSUBSTATUS": "Edit",
+		"DELETE_MAILSUBSTATUS": "Delete",
+		"FONT_FAMILY": "Font Family",
+		"FONT_SIZE": "Font Size",
+		"MARK_AS_UNREAD": "Mark as unread",
+		"ACCEPTED": "Accepted",
+		"CANNEDANSWERS": "Canned Answers",
+		"MAILCANNEDANSWERS": "Canned Answers",
+		"NO_MAILCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_MAILCANNEDANSWER": "New Canned Answer",
+		"ADD_MAILCANNEDANSWER": "Add Canned Answer",
+		"EDIT_MAILCANNEDANSWER": "Edit Canned Answer",
+		"DELETE_MAILCANNEDANSWER": "Delete Canned Answer",
+		"SHOW_ORIGINAL_MESSAGE": "Show original message",
+		"PENDING": "Pending",
+		"SEND_AS_PENDING": "Send as Pending",
+		"SEND_AND_CLOSE": "Send and Close",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"SPYINTERACTION": "Spy",
+		"ADD_NOTE": "Add note",
+		"NOTE": "Note",
+		"TAGS": "Tags",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_MAILQUEUE": "Go To Realtime Mail Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to Email queue",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open channel",
+		"FAX": "Fax",
+		"REALTIME": "Realtime",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"ACCOUNTS": "Accounts",
+		"FULLNAME": "Full Name",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGGED_IN": "Logged In",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"TOTAL": "Total",
+		"IN": "In",
+		"OUT": "Out",
+		"IMAP_STATUS": "IMAP Status",
+		"SMTP_STATUS": "SMTP Status",
+		"DISABLED": "Disabled",
+		"CONNECTED": "Connected",
+		"NEVER_VERIFIED": "Never Verified",
+		"ERROR": "Error",
+		"EDIT_ACCOUNT": "Edit Account",
+		"VERIFY_SMTP": "Verify SMTP",
+		"VERIFIED": "Verified",
+		"VERIFYSMTP_MAILACCOUNT": "Verify SMTP",
+		"GOTOREALTIME_MAILACCOUNT": "Go to Realtime Email Account",
+		"GOTO_MAILACCOUNT": "Go to Realtime Email Account",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"SHOW_AUTOREPLY": "Show Auto Reply",
+		"SHOW_DETAILS": "Show details",
+		"HIDE_DETAILS": "Hide details",
+		"TO": "To",
+		"FROM": "From",
+		"DATE": "Date",
+		"CC": "Cc",
+		"REPLY": "Reply",
+		"REPLY_ALL": "Reply All",
+		"FORWARD": "Forward",
+		"SUBJECT": "Subject",
+		"BCC": "Bcc",
+		"SEND": "Send",
+		"ATTACHMENT": "Attachment",
+		"ATTACHMENTS": "Attachments",
+		"NAME": "Name",
+		"MAILQUEUES": "Email Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"FONT_SIZE_REQUIRED": "Mandatory Field",
+			"FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"EMAIL_ADDRESS_REQUIRED": "Mandatory Field",
+			"EMAIL_ADDRESS_MUST_VALID": "Wrong format",
+			"HOST_REQUIRED": "Mandatory Field",
+			"USERNAME_REQUIRED": "Mandatory Field",
+			"PORT_REQUIRED": "Mandatory Field",
+			"CONNTIMEOUT_REQUIRED": "Mandatory Field",
+			"AUTHTIMEOUT_REQUIRED": "Mandatory Field",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"SERVICE_REQUIRED": "Mandatory Field",
+			"IMAP_HOST_REQUIRED": "Mandatory Field",
+			"IMAP_PORT_REQUIRED": "Mandatory Field",
+			"SMTP_HOST_REQUIRED": "Mandatory Field",
+			"SMTP_PORT_REQUIRED": "Mandatory Field",
+			"CONFIRM_NOT_MATCH": "The passwords inserted don't match",
+			"KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli"
+		},
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_MAILQUEUE": "Add Email Queue",
+		"EDIT_MAILQUEUE": "Edit Email Queue",
+		"DELETE_MAILQUEUE": "Delete Email Queue",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"SAVE": "Save",
+		"MAILACCOUNTS": "Email Accounts",
+		"EMAIL_ADDRESS": "Email Address",
+		"ADD_MAILACCOUNT": "Add Email Account",
+		"EDIT_MAILACCOUNT": "Edit Email Account",
+		"DELETE_MAILACCOUNT": "Delete Email Accounts",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"OTHERS": "Others",
+		"LIST": "List",
+		"TEMPLATE": "Template",
+		"FIDELITY": "Fidelity",
+		"SERVICE": "Service",
+		"CREATED_AT": "Created At",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"WHITELABEL": "White Label",
+		"SIGNATURE": "Signature",
+		"IMAP": "IMAP",
+		"HOST": "Host",
+		"USERNAME": "Username",
+		"PORT": "Port",
+		"MAILBOX": "Mailbox",
+		"FILTER": "Filter",
+		"CONNTIMEOUT": "Connection Timeout [sec]",
+		"AUTHTIMEOUT": "Authentication Timeout [sec]",
+		"DELETE": "Delete Email From Server",
+		"SSL": "SSL",
+		"KEEPALIVE": "Keepalive",
+		"POLLING": "Polling",
+		"SMTP": "SMTP",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"MAIL": "Email",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"PASSWORD": "Password",
+		"NO_MAILDISPOSITION_AVAILABLE": "No Email Dispositions available",
+		"ADD_MAILDISPOSITION": "Add Email Disposition",
+		"NEW_MAILDISPOSITION": "New Email Disposition",
+		"EDIT_MAILDISPOSITION": "Edit Email Disposition",
+		"DELETE_MAILDISPOSITION": "Delete Email Disposition",
+		"MAILDISPOSITIONS": "Email Dispositions",
+		"NEW_MAILQUEUE": "New Email Queue",
+		"NEW_MAILACCOUNT": "New Email Account",
+		"NO_AVAILABLE_INFO": "No availables info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"HELP": {
+			"FONT_FAMILY": "Default Font Family",
+			"FONT_SIZE": "Default Font Size",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"USERNAME": "Username used for authentication",
+			"PASSWORD": "Password used for authentication",
+			"SECURE": "If true, the connection will use TLS when connecting to server",
+			"MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction",
+			"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+			"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"TEAMADD_MAILQUEUE": "Add Team to Email Queue",
+		"AGENTADD_MAILQUEUE": "Add Agent to Email Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"AGENT": "Agent",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_CLOSE": "Edit Close",
+		"DISPOSITION": "Disposition",
+		"GOTOIF": "GotoIf",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"GOTOP": "GotoP",
+		"EDIT_GOTOP": "Edit GotoP",
+		"PRIORITY": "Priority",
+		"NOOP": "Noop",
+		"EDIT_NOOP": "Edit Noop",
+		"VALUE": "Value",
+		"QUEUE": "Queue",
+		"EDIT_QUEUE": "Edit Queue",
+		"INTERACTIONS": "Interactions",
+		"STARTEDAT": "Started At",
+		"CONTACT": "Contact",
+		"CLOSEDAT": "Closed At",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"ACTIVE": "Active",
+		"SECURE": "Secure",
+		"AUTHENTICATION": "Authentication",
+		"SMTP_HOST": "SMTP Host",
+		"SMTP_PORT": "SMTP Port",
+		"IMAP_HOST": "IMAP Host",
+		"IMAP_PORT": "IMAP Port",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"SELECT_STATUS": "Select Status",
+		"OPENED": "Open",
+		"CLOSED": "Closed",
+		"ALL": "All",
+		"SELECT_ACCOUNT": "Select Account",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"OPEN": "Open",
+		"KEY": "Key",
+		"SMTPSERVICE": "SMTP Service",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTSADD_QUEUE": "Add agents to Email Queue",
+		"INFO": "Info",
+		"INTERACTIONS_MAILACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_MAILACCOUNT": "Add Agent to Email Account",
+		"ADVANCED": "Täpsemad",
+		"DOWNLOAD_WITHOUT_ATTACHMENT": "Laadige alla ilma manuseta",
+		"DOWNLOAD_WITH_ATTACHMENT": "Laadige alla koos manusega",
+		"LASTMESSAGE": "Viimane teade",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/mail/i18n/lt.json b/public/app/main/apps/mail/i18n/lt.json
new file mode 100644
index 0000000..417df2f
--- /dev/null
+++ b/public/app/main/apps/mail/i18n/lt.json
@@ -0,0 +1,324 @@
+{
+	"MAIL": {
+		"ADVANCED": "Advanced",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments",
+		"DOWNLOAD": "Download",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"YOU_ARE_REGISTERED_AS_A": "You are registered as a",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"SEND_AS": "Send as",
+		"NEW_MAILSUBSTATUS": "New Sub Status",
+		"ADD_MAILSUBSTATUS": "Add Sub Status",
+		"MAILSUBSTATUSES": "Email Sub Statuses",
+		"EDIT_MAILSUBSTATUS": "Edit",
+		"DELETE_MAILSUBSTATUS": "Delete",
+		"FONT_FAMILY": "Font Family",
+		"FONT_SIZE": "Font Size",
+		"MARK_AS_UNREAD": "Mark as unread",
+		"ACCEPTED": "Accepted",
+		"CANNEDANSWERS": "Canned Answers",
+		"MAILCANNEDANSWERS": "Canned Answers",
+		"NO_MAILCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_MAILCANNEDANSWER": "New Canned Answer",
+		"ADD_MAILCANNEDANSWER": "Add Canned Answer",
+		"EDIT_MAILCANNEDANSWER": "Edit Canned Answer",
+		"DELETE_MAILCANNEDANSWER": "Delete Canned Answer",
+		"SHOW_ORIGINAL_MESSAGE": "Show original message",
+		"PENDING": "Pending",
+		"SEND_AS_PENDING": "Send as Pending",
+		"SEND_AND_CLOSE": "Send and Close",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"SPYINTERACTION": "Spy",
+		"ADD_NOTE": "Add note",
+		"NOTE": "Note",
+		"TAGS": "Tags",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_MAILQUEUE": "Go To Realtime Mail Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to Email queue",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open channel",
+		"FAX": "Fax",
+		"REALTIME": "Realtime",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"ACCOUNTS": "Accounts",
+		"FULLNAME": "Full Name",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGGED_IN": "Logged In",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"TOTAL": "Total",
+		"IN": "In",
+		"OUT": "Out",
+		"IMAP_STATUS": "IMAP Status",
+		"SMTP_STATUS": "SMTP Status",
+		"DISABLED": "Disabled",
+		"CONNECTED": "Connected",
+		"NEVER_VERIFIED": "Never Verified",
+		"ERROR": "Error",
+		"EDIT_ACCOUNT": "Edit Account",
+		"VERIFY_SMTP": "Verify SMTP",
+		"VERIFIED": "Verified",
+		"VERIFYSMTP_MAILACCOUNT": "Verify SMTP",
+		"GOTOREALTIME_MAILACCOUNT": "Go to Realtime Email Account",
+		"GOTO_MAILACCOUNT": "Go to Realtime Email Account",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"SHOW_AUTOREPLY": "Show Auto Reply",
+		"SHOW_DETAILS": "Show details",
+		"HIDE_DETAILS": "Hide details",
+		"TO": "To",
+		"FROM": "From",
+		"DATE": "Date",
+		"CC": "Cc",
+		"REPLY": "Reply",
+		"REPLY_ALL": "Reply All",
+		"FORWARD": "Forward",
+		"SUBJECT": "Subject",
+		"BCC": "Bcc",
+		"SEND": "Send",
+		"ATTACHMENT": "Attachment",
+		"ATTACHMENTS": "Attachments",
+		"NAME": "Name",
+		"MAILQUEUES": "Email Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"MANDATORYDISPOSITION": "Mandatory disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"FONT_SIZE_REQUIRED": "Mandatory Field",
+			"FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"EMAIL_ADDRESS_REQUIRED": "Mandatory Field",
+			"EMAIL_ADDRESS_MUST_VALID": "Wrong format",
+			"HOST_REQUIRED": "Mandatory Field",
+			"USERNAME_REQUIRED": "Mandatory Field",
+			"PORT_REQUIRED": "Mandatory Field",
+			"CONNTIMEOUT_REQUIRED": "Mandatory Field",
+			"AUTHTIMEOUT_REQUIRED": "Mandatory Field",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"SERVICE_REQUIRED": "Mandatory Field",
+			"IMAP_HOST_REQUIRED": "Mandatory Field",
+			"IMAP_PORT_REQUIRED": "Mandatory Field",
+			"SMTP_HOST_REQUIRED": "Mandatory Field",
+			"SMTP_PORT_REQUIRED": "Mandatory Field",
+			"CONFIRM_NOT_MATCH": "The passwords inserted don't match",
+			"KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field"
+		},
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_MAILQUEUE": "Add Email Queue",
+		"EDIT_MAILQUEUE": "Edit Email Queue",
+		"DELETE_MAILQUEUE": "Delete Email Queue",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"SAVE": "Save",
+		"MAILACCOUNTS": "Email Accounts",
+		"EMAIL_ADDRESS": "Email Address",
+		"ADD_MAILACCOUNT": "Add Email Account",
+		"EDIT_MAILACCOUNT": "Edit Email Account",
+		"DELETE_MAILACCOUNT": "Delete Email Accounts",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"OTHERS": "Others",
+		"LIST": "List",
+		"TEMPLATE": "Template",
+		"FIDELITY": "Fidelity",
+		"SERVICE": "Service",
+		"CREATED_AT": "Created At",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"WHITELABEL": "White Label",
+		"SIGNATURE": "Signature",
+		"IMAP": "IMAP",
+		"HOST": "Host",
+		"USERNAME": "Username",
+		"PORT": "Port",
+		"MAILBOX": "Mailbox",
+		"FILTER": "Filter",
+		"CONNTIMEOUT": "Connection Timeout [sec]",
+		"AUTHTIMEOUT": "Authentication Timeout [sec]",
+		"DELETE": "Delete Email From Server",
+		"SSL": "SSL",
+		"KEEPALIVE": "Keepalive",
+		"POLLING": "Polling",
+		"SMTP": "SMTP",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"MAIL": "Email",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"PASSWORD": "Password",
+		"NO_MAILDISPOSITION_AVAILABLE": "No Email Dispositions available",
+		"ADD_MAILDISPOSITION": "Add Email Disposition",
+		"NEW_MAILDISPOSITION": "New Email Disposition",
+		"EDIT_MAILDISPOSITION": "Edit Email Disposition",
+		"DELETE_MAILDISPOSITION": "Delete Email Disposition",
+		"MAILDISPOSITIONS": "Email Dispositions",
+		"NEW_MAILQUEUE": "New Email Queue",
+		"NEW_MAILACCOUNT": "New Email Account",
+		"NO_AVAILABLE_INFO": "No availables info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"HELP": {
+			"FONT_FAMILY": "Default Font Family",
+			"FONT_SIZE": "Default Font Size",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"USERNAME": "Username used for authentication",
+			"PASSWORD": "Password used for authentication",
+			"SECURE": "If true, the connection will use TLS when connecting to server",
+			"MANDATORYDISPOSITION": "Mandatory disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
+			"MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"TEAMADD_MAILQUEUE": "Add Team to Email Queue",
+		"AGENTADD_MAILQUEUE": "Add Agent to Email Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"AGENT": "Agent",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_CLOSE": "Edit Close",
+		"DISPOSITION": "Disposition",
+		"GOTOIF": "GotoIf",
+		"EDIT_GOTOIF": "Edit GotoIf",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"GOTOP": "GotoP",
+		"EDIT_GOTOP": "Edit GotoP",
+		"PRIORITY": "Priority",
+		"NOOP": "Noop",
+		"EDIT_NOOP": "Edit Noop",
+		"VALUE": "Value",
+		"QUEUE": "Queue",
+		"EDIT_QUEUE": "Edit Queue",
+		"INTERACTIONS": "Interactions",
+		"STARTEDAT": "Started At",
+		"LASTMESSAGE": "Last message",
+		"CONTACT": "Contact",
+		"CLOSEDAT": "Closed At",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"ACTIVE": "Active",
+		"SECURE": "Secure",
+		"AUTHENTICATION": "Authentication",
+		"SMTP_HOST": "SMTP Host",
+		"SMTP_PORT": "SMTP Port",
+		"IMAP_HOST": "IMAP Host",
+		"IMAP_PORT": "IMAP Port",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"SELECT_STATUS": "Select Status",
+		"OPENED": "Open",
+		"CLOSED": "Closed",
+		"ALL": "All",
+		"SELECT_ACCOUNT": "Select Account",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"OPEN": "Open",
+		"KEY": "Key",
+		"SMTPSERVICE": "SMTP Service",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTSADD_QUEUE": "Add agents to Email Queue",
+		"INFO": "Info",
+		"INTERACTIONS_MAILACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_MAILACCOUNT": "Add Agent to Email Account",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
+		"TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available",
+		"DOWNLOAD_WITH_ATTACHMENT": "Download with attachment",
+		"DOWNLOAD_WITHOUT_ATTACHMENT": "Download without attachment"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/marketplace/i18n/cs.json b/public/app/main/apps/marketplace/i18n/cs.json
new file mode 100644
index 0000000..0771ce7
--- /dev/null
+++ b/public/app/main/apps/marketplace/i18n/cs.json
@@ -0,0 +1,51 @@
+{
+	"MARKETPLACE": {
+		"MARKETPLACE": "App Zone",
+		"PLUGINS": "Plugins",
+		"BACK": "Back",
+		"SEARCH_FOR_ANYONE": "Search",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select all",
+		"SELECT_NONE": "Select none",
+		"NAME": "Name",
+		"DESCRIPTION": "Description",
+		"ACTIVE": "Active",
+		"TYPE": "Type",
+		"ICON": "Icon",
+		"ADMINURL": "Admin url",
+		"AGENTURL": "Agent url",
+		"SCRIPTNAME": "Script name",
+		"SCRIPTPATH": "Script path",
+		"SIDEBAR": "Sidebar",
+		"VERSION": "Version",
+		"NO_AVAILABLE_INFO": "No available info",
+		"MORE": "More",
+		"INSTALL_PLUGIN": "Install plugin",
+		"EDIT_PLUGIN": "Edit plugin",
+		"STOP_PLUGIN": "Stop plugin",
+		"RESTART_PLUGIN": "Restart plugin",
+		"DOWNLOAD_PLUGIN": "Download plugin",
+		"UNINSTALL_PLUGIN": "Uninstall plugin",
+		"DELETE_PLUGIN": "Remove plugin",
+		"CANCEL": "Cancel",
+		"FINISH": "Finish",
+		"DELETE": "Delete",
+		"SAVE": "Save",
+		"INSTALLING": "Installing",
+		"DROP_TO_UPLOAD": "Drop To Upload",
+		"DROP_TO_UPLOAD_MESSAGE": "Drop your file here to upload. Only ZIP - Max. 2MB",
+		"UPLOAD_PLUGIN": "Upload plugin",
+		"UPLOADING": "Uploading",
+		"CREATED_AT": "Created at",
+		"GENERAL": "General",
+		"SETTINGS": "Settings",
+		"EDITOR": "Editor",
+		"ERRORS": {
+			"URL_REQUIRED": "Mandatory field"
+		},
+		"HELP": {},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/marketplace/i18n/et.json b/public/app/main/apps/marketplace/i18n/et.json
new file mode 100644
index 0000000..0771ce7
--- /dev/null
+++ b/public/app/main/apps/marketplace/i18n/et.json
@@ -0,0 +1,51 @@
+{
+	"MARKETPLACE": {
+		"MARKETPLACE": "App Zone",
+		"PLUGINS": "Plugins",
+		"BACK": "Back",
+		"SEARCH_FOR_ANYONE": "Search",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select all",
+		"SELECT_NONE": "Select none",
+		"NAME": "Name",
+		"DESCRIPTION": "Description",
+		"ACTIVE": "Active",
+		"TYPE": "Type",
+		"ICON": "Icon",
+		"ADMINURL": "Admin url",
+		"AGENTURL": "Agent url",
+		"SCRIPTNAME": "Script name",
+		"SCRIPTPATH": "Script path",
+		"SIDEBAR": "Sidebar",
+		"VERSION": "Version",
+		"NO_AVAILABLE_INFO": "No available info",
+		"MORE": "More",
+		"INSTALL_PLUGIN": "Install plugin",
+		"EDIT_PLUGIN": "Edit plugin",
+		"STOP_PLUGIN": "Stop plugin",
+		"RESTART_PLUGIN": "Restart plugin",
+		"DOWNLOAD_PLUGIN": "Download plugin",
+		"UNINSTALL_PLUGIN": "Uninstall plugin",
+		"DELETE_PLUGIN": "Remove plugin",
+		"CANCEL": "Cancel",
+		"FINISH": "Finish",
+		"DELETE": "Delete",
+		"SAVE": "Save",
+		"INSTALLING": "Installing",
+		"DROP_TO_UPLOAD": "Drop To Upload",
+		"DROP_TO_UPLOAD_MESSAGE": "Drop your file here to upload. Only ZIP - Max. 2MB",
+		"UPLOAD_PLUGIN": "Upload plugin",
+		"UPLOADING": "Uploading",
+		"CREATED_AT": "Created at",
+		"GENERAL": "General",
+		"SETTINGS": "Settings",
+		"EDITOR": "Editor",
+		"ERRORS": {
+			"URL_REQUIRED": "Mandatory field"
+		},
+		"HELP": {},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/marketplace/i18n/lt.json b/public/app/main/apps/marketplace/i18n/lt.json
new file mode 100644
index 0000000..0771ce7
--- /dev/null
+++ b/public/app/main/apps/marketplace/i18n/lt.json
@@ -0,0 +1,51 @@
+{
+	"MARKETPLACE": {
+		"MARKETPLACE": "App Zone",
+		"PLUGINS": "Plugins",
+		"BACK": "Back",
+		"SEARCH_FOR_ANYONE": "Search",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select all",
+		"SELECT_NONE": "Select none",
+		"NAME": "Name",
+		"DESCRIPTION": "Description",
+		"ACTIVE": "Active",
+		"TYPE": "Type",
+		"ICON": "Icon",
+		"ADMINURL": "Admin url",
+		"AGENTURL": "Agent url",
+		"SCRIPTNAME": "Script name",
+		"SCRIPTPATH": "Script path",
+		"SIDEBAR": "Sidebar",
+		"VERSION": "Version",
+		"NO_AVAILABLE_INFO": "No available info",
+		"MORE": "More",
+		"INSTALL_PLUGIN": "Install plugin",
+		"EDIT_PLUGIN": "Edit plugin",
+		"STOP_PLUGIN": "Stop plugin",
+		"RESTART_PLUGIN": "Restart plugin",
+		"DOWNLOAD_PLUGIN": "Download plugin",
+		"UNINSTALL_PLUGIN": "Uninstall plugin",
+		"DELETE_PLUGIN": "Remove plugin",
+		"CANCEL": "Cancel",
+		"FINISH": "Finish",
+		"DELETE": "Delete",
+		"SAVE": "Save",
+		"INSTALLING": "Installing",
+		"DROP_TO_UPLOAD": "Drop To Upload",
+		"DROP_TO_UPLOAD_MESSAGE": "Drop your file here to upload. Only ZIP - Max. 2MB",
+		"UPLOAD_PLUGIN": "Upload plugin",
+		"UPLOADING": "Uploading",
+		"CREATED_AT": "Created at",
+		"GENERAL": "General",
+		"SETTINGS": "Settings",
+		"EDITOR": "Editor",
+		"ERRORS": {
+			"URL_REQUIRED": "Mandatory field"
+		},
+		"HELP": {},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/motiondialer/i18n/cs.json b/public/app/main/apps/motiondialer/i18n/cs.json
new file mode 100644
index 0000000..e455ca6
--- /dev/null
+++ b/public/app/main/apps/motiondialer/i18n/cs.json
@@ -0,0 +1,645 @@
+{
+	"MOTIONDIALER": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"CUTDIGIT": "Cut Digits",
+		"RANDOMLASTDIGITCALLERIDNUMBER": "Random Outgoing CallerId Number",
+		"CLONE_IVRCAMPAIGN": "Clone Campaign",
+		"CLONE_QUEUECAMPAIGN": "Clone Queue Campaign",
+		"ABANDONEDCALLS": "Abandoned Queue Calls",
+		"HOPPERWIDGET": "Summary",
+		"RESETLIST_IVRCAMPAIGN": "Reset Lists",
+		"RESETLIST_QUEUECAMPAIGN": "Reset Lists",
+		"RESET": "Reset",
+		"RESETLIST": "Reset Lists",
+		"SELECTALL": "Select All",
+		"UNSELECTALL": "Un-Select All",
+		"NO_AVAILABLE_INFO": "No available info",
+		"TIMEOUT": "Timeout",
+		"CALLYSQUAREPROJECTPREVIEW": "Cally Square Project Preview",
+		"CALLYSQUAREPROJECTPREVIEW2": "Cally Square Project After Preview",
+		"RUNIFHANGUPAGENT": "Run Cally Square Project After even if the agent hangs up the call",
+		"CALLYSQUAREPROJECT2": "Cally Square Project After Queue",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"PARTIALPAUSE": "Parital Pause",
+		"ALL": "All",
+		"IDLE": "Idle",
+		"TIMER": "Timer",
+		"MOVE_HOPPERFINAL": "Restore contact",
+		"RESTORECONTACTS": "Restore Contacts",
+		"NO_SUCH_NUMBER": "No Such Number",
+		"DIALORDERBYSCHEDULEDAT": "Order By scheduledat",
+		"ASC": "ASC",
+		"DESC": "DESC",
+		"RECALLAGENT": "Recall Agent",
+		"DIALRECALLINQUEUE": "Recall In Queue",
+		"DIALRECALLMETIMEOUT": "Recall Me Timeout [min]",
+		"RECALLME": "Recall Me",
+		"RECALLFAILEDTIMEOUT": "Recall Failed",
+		"PREVIEW_CAMPAIGN": "Preview Campaigns",
+		"PREVIEW_CAMPAIGNS": "Preview Campaigns",
+		"AMD": "Asterisk Answering Machine Detection (AMD)",
+		"AMDTOTALANALYSISTIME": "Total Analysis Time",
+		"AMDACTIVE": "AMD",
+		"AMDINITIALSILENCE": "Initial Silence",
+		"AMDGREETING": "Greeting",
+		"AMDAFTERGREETINGSILENCE": "Silence after Greeting",
+		"AMDSILENCETHRESHOLD": "Silence Threshold",
+		"AMDMINWORDLENGTH": "Min Word Length",
+		"AMDBETWEENWORDSSILENCE": "Silence Between Words",
+		"AMDMAXIMUMWORDLENGTH": "Maximum Word Length",
+		"AMDMAXIMUMNUMBEROFWORDS": "Maximum Number Of Words",
+		"GOTO_QUEUECAMPAIGN": "Go To Realtime Queue Campaigns",
+		"GOTOREALTIME_QUEUECAMPAIGN": "Go To Realtime Queue Campaigns",
+		"GOTO_IVRCAMPAIGN": "Go To Realtime IVR Campaigns",
+		"GOTOREALTIME_IVRCAMPAIGN": "Go To Realtime IVR Campaigns",
+		"LOGOUT": "Logout",
+		"EDIT_CAMPAIGN": "Edit Campaign",
+		"LIMITED": "Limited",
+		"IVR_CAMPAIGNS": "IVR Campaigns",
+		"MOTIONDIALER": "Motion Bull",
+		"QUEUECAMPAIGNS": "Queue Campaigns",
+		"IVRCAMPAIGNS": "IVR Campaigns",
+		"MANAGED": "Managed",
+		"AVAILABLE_CONTACTS_FINISHED": "Available contacts finished",
+		"HISTORY": "History",
+		"SCHEDULEDAT": "Scheduled At",
+		"HOPPERBLACKS": "Hopper Blacklist",
+		"NO_HOPPERBLACK_AVAILABLE": "No items available",
+		"HOPPERFINALS": "Hopper Final",
+		"NO_HOPPERFINAL_AVAILABLE": "No items available",
+		"HOPPERHISTORIES": "Call history",
+		"NO_HOPPERHISTORY_AVAILABLE": "No items available",
+		"DELETE_HOPPERHISTORY": "Delete",
+		"DELETE_HOPPERFINAL": "Delete",
+		"CONTACTID": "Contact ID",
+		"STARTTIME": "Start Time",
+		"RESPONSETIME": "Response Time",
+		"ENDTIME": "End Time",
+		"STATUS": "Status",
+		"HOPPERS": "Hopper",
+		"NO_HOPPER_AVAILABLE": "No items available",
+		"EDIT_HOPPER": "Edit Hopper",
+		"DELETE_HOPPER": "Delete Hopper",
+		"FINAL": "Final",
+		"BLACKLIST": "Blacklist",
+		"NAME": "Name",
+		"VOICEQUEUES": "Voice Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+		"EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+		"EDIT_VOICEQUEUE": "Edit Voice Queue",
+		"DELETE_VOICEQUEUE": "Delete Voice Queue",
+		"MOHSOUNDS": "Moh Sounds",
+		"STRATEGY": "Strategy",
+		"DESCRIPTION": "Description",
+		"INTERVAL": "Time Interval",
+		"ADD_VOICEQUEUE": "Add Voice Queue",
+		"NEW_QUEUECAMPAIGN": "New Queue Campaign",
+		"ACTIVE": "Active",
+		"METHOD": "Method",
+		"POWERLEVEL": "Power Level",
+		"DROPRATE": "Drop Rate",
+		"AGENTBUSYFACTOR": "Agent Busy Factor",
+		"PREDICTIVEOPTIMIZATION": "Predictive Optimization",
+		"PREDICTIVEOPTIMIZATIONPERCENTAGE": "Predictive Optimization Percentage",
+		"PREDICTIVEINTERVAL": "Predictive Interval",
+		"ADD_QUEUECAMPAIGN": "Add Queue Campaign",
+		"CAMPAIGN": "Campaign",
+		"MAXCONCURRENTCALLS": "Max Concurrent Calls",
+		"CONCURRENTCALLS": "Max Concurrent Calls",
+		"ORIGINATE": "Originate",
+		"ORIGINATECALLERIDNAME": "Caller ID Name",
+		"ORIGINATECALLERIDNUMBER": "Caller ID Number",
+		"ORIGINATETIMEOUT": "Originate Timeout",
+		"QUEUEOPTIONS": "Queue Options",
+		"QUEUETIMEOUT": "Queue Timeout",
+		"CALLYSQUAREPROJECT": "Cally Square Project",
+		"RETRYANDFREQUENCY": "Retry Settings",
+		"GLOBAL": "Global",
+		"GLOBALMAXRETRY": "Max Retries",
+		"CONGESTION": "Congestion",
+		"CONGESTIONMAXRETRY": "Max Retries",
+		"CONGESTIONRETRYTIME": "Retry Time [min]",
+		"BUSYMAXRETRY": "Max Retries",
+		"BUSYRETRYTIME": "Retry Time [min]",
+		"NOANSWER": "No Answer",
+		"NOANSWERMAXRETRY": "Max Retries",
+		"NOANSWERRETRYTIME": "Retry Time [min]",
+		"QUEUE_PARAMS": "Queue Parameters",
+		"ORIGINATED": "Originated",
+		"MESSAGE": "Message",
+		"DROPPED": "Dropped",
+		"CREATED_AT": "Created At",
+		"LEGEND": {
+			"CUSTOM_APPLICATION": "(*) - Custom application."
+		},
+		"ERRORS": {
+			"CUTDIGIT_REQUIRED": "Mandatory field",
+			"CUTDIGIT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CUTDIGIT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"RANDOMLASTDIGITCALLERIDNUMBER_REQUIRED": "Mandatory field",
+			"RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTIMEOUT_REQUIRED": "Mandatory field",
+			"INTERVAL_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"DIALRECALLMETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DIALRECALLMETIMEOUT_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"PREFIX_MUST_VALID_PATTERN": "Wrong format",
+			"NAME_REQUIRED": "Mandatory field",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"PHONENUMBER_REQUIRED": "Mandatory field",
+			"CONTEXT_REQUIRED": "Mandatory field",
+			"DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"MAILBOX_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TIMEZONE_REQUIRED": "Mandatory field",
+			"PREFIX_REQUIRED": "Mandatory field",
+			"OPTIONS_REQUIRED": "Mandatory field",
+			"AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+			"TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"EXTENSION_REQUIRED": "Mandatory field",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"GLOBALMAXRETRY_REQUIRED": "Mandatory field",
+			"CONGESTIONMAXRETRY_REQUIRED": "Mandatory field",
+			"CONGESTIONRETRYTIME_REQUIRED": "Mandatory field",
+			"BUSYMAXRETRY_REQUIRED": "Mandatory field",
+			"BUSYRETRYTIME_REQUIRED": "Mandatory field",
+			"NOANSWERMAXRETRY_REQUIRED": "Mandatory field",
+			"NOANSWERRETRYTIME_REQUIRED": "Mandatory field",
+			"QUEUETIMEOUT_REQUIRED": "Mandatory field",
+			"ORIGINATETIMEOUT_REQUIRED": "Mandatory field",
+			"GLOBALINTERVAL_REQUIRED": "Mandatory field",
+			"MAXCONCURRENTCALLS_REQUIRED": "Mandatory field",
+			"CONCURRENTCALLS_REQUIRED": "Mandatory field",
+			"POWERLEVEL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PREDICTIVEINTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXCONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"ORIGINATETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"GLOBALMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONGESTIONMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONGESTIONRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"BUSYMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"BUSYRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NOANSWERMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NOANSWERRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"POWERLEVEL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"PREDICTIVEINTERVAL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MAXCONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"ORIGINATETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"GLOBALMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONGESTIONMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONGESTIONRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"BUSYMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"BUSYRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NOANSWERMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NOANSWERRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_REQUIRED": "Povinné pole",
+			"CALLYSQUAREPROJECT_REQUIRED": "Povinné pole",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
+			"TRUNK_REQUIRED": "Povinné pole"
+		},
+		"GENERAL": "General",
+		"AGENTTIMEOUT": "Agent Timeout",
+		"MAXLENGTH": "Maximum Length",
+		"RETRY": "Retry",
+		"WRAPUPTIME": "Wrapup Time",
+		"WEIGHT": "Weight",
+		"JOINWHENEMPTY": "Join when empty",
+		"LEAVEWHENEMPTY": "Leave when empty",
+		"HELP": {
+			"RANDOMLASTDIGITCALLERIDNUMBER": "If greater than 0, it generates randomly the corresponding last digits of the Outgoing Caller Id Number",
+			"TIMEOUT": "Number of seconds to ring agent in queue",
+			"CALLYSQUAREPROJECTPREVIEW": "Selecting an IVR project, the dialer will forward the call to the IVR when an agent answers (the IVR will be directed to the agent)",
+			"CALLYSQUAREPROJECTPREVIEW2": "Selecting an IVR project, the dialer will forward the call to the IVR when an client hangup or unreachable (the IVR will be directed to the agent)",
+			"RUNIFHANGUPAGENT": "Run Cally Square Project After even if the agent hangs up the call",
+			"CALLYSQUAREPROJECT2": "iSelecting an IVR project, the dialer will forward the call to the IVR after the queue (if the queue ends by timeout)",
+			"DIALORDERBYSCHEDULEDAT": "Get contacts from hopper (descending or ascending).",
+			"DIALRECALLINQUEUE": "Reschedule call for agents in the Queue",
+			"DIALRECALLMETIMEOUT": "Time interval (in minutes) for Recall Me period of validity",
+			"PRIORITY": "Priority in the list",
+			"AMDMAXIMUMWORDLENGTH": "Maximum duration allowed of a single Voice utterance",
+			"AMDMINWORDLENGTH": "Minimum duration of a Voice to be considered a word",
+			"AMDSILENCETHRESHOLD": "If the average level of noise in a sample does not reach this value, from a scale of 0 to 32767, then we will consider it as silence",
+			"AMDTOTALANALYSISTIME": "Maximum time allowed for the algorithm to decide on whether the audio represents a HUMAN or a MACHINE",
+			"AMDAFTERGREETINGSILENCE": "Silence after detecting a greeting. If exceeded, then the result is detection as a HUMAN",
+			"AMDGREETING": "Maximum length of a greeting. If exceeded, then the result is detection as a MACHINE",
+			"AMDINITIALSILENCE": "Maximum silence duration before the greeting. If exceeded, then the result is detection as a MACHINE",
+			"AMDACTIVE": "Activate or disactivate answering machines detection attempts",
+			"AMDBETWEENWORDSSILENCE": "Minimum duration of silence after a word to consider the audio that follows as a new word",
+			"AMDMAXIMUMNUMBEROFWORDS": "Maximum number of words in the greeting. If REACHED, then the result is detection as a MACHINE",
+			"CALLYSQUAREPROJECT": "Selecting an IVR project, the dialer will forward the call to the IVR before the queue",
+			"PREFIX": "Telephone prefix",
+			"ACTIVE": "Active",
+			"AGENTTIMEOUT": "How long (in seconds) to ring an agent’s device",
+			"MAXLENGTH": "Maximum number of callers allowed to be waiting in a queue (0=unlimited)",
+			"RETRY": "How long (in seconds) to wait before calling the next agent in the queue when the agent timeout is expired",
+			"WRAPUPTIME": "How long (in seconds) to keep an agent unavailable in a queue after completing a call",
+			"WEIGHT": "Used to determine priority if the agents are associated with more than one queue",
+			"JOINWHENEMPTY": "If a caller is added to the queue, when no agents are available",
+			"LEAVEWHENEMPTY": "If a caller is expelled from the queue when no agents are available",
+			"ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (0=disable)",
+			"MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+			"PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+			"ANNOUNCEPOSITIONLIMIT": "Used if you’ve defined announce-position as either 'limit' or 'more'",
+			"AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+			"MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+			"MUSICONHOLD": "Sets the music class to use for a particular queue",
+			"ANNOUNCETOAGENT": "Plays an announcement to the agent answering the call (e.g. to let him know which queue the caller is coming from)",
+			"RANDOMPERIODICANNOUNCE": "If yes, it plays the periodic announcements in random order",
+			"ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+			"ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+			"REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+			"PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+			"HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+			"YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
+			"THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+			"WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+			"ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+			"MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+			"MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+			"SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+			"THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+			"AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+			"AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled, it causes the agent to be paused in all queues he belongs to",
+			"RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+			"TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+			"MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+			"CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+			"SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"RECORDING": "Enable call recording",
+			"VOICEMAIL_CONTEXT": "The context of the relative extension",
+			"METHOD": "Outbound dialer method",
+			"POWERLEVEL": "Number of contacts to call for any available agent",
+			"PREDICTIVEOPTIMIZATION": "A factor to optimize in the predictive algorithm",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE": "Percentage based on the selected predictive optimization factor",
+			"PREDICTIVEINTERVAL": "Time interval (in minutes) considered by the predictive algorithm to calculate the amount of calls to generate to optimize the result",
+			"MAXCONCURRENTCALLS": "Maximum number of concurrent calls that will be originated by the outbound dialer for this campaign (0=unlimited)",
+			"CONCURRENTCALLS": "Maximum number of concurrent calls that will be originated by the outbound dialer for this campaign",
+			"ORIGINATECALLERIDNAME": "Outgoing Caller Id Name",
+			"ORIGINATECALLERIDNUMBER": "Outgoing Caller Id Number",
+			"ORIGINATETIMEOUT": "Time (in seconds) for the outbound call to establish a connection, otherwise the status is set to No Answer ",
+			"QUEUETIMEOUT": "Time (in seconds) a call will wait in the queue before it is dropped (Min 1 and Max 999)",
+			"GLOBALMAXRETRY": "Maximum number of times a contact is called before considering it closed",
+			"CONGESTIONMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for congestion",
+			"CONGESTIONRETRYTIME": "Time in minutes before trying to call again a failed contact due to congestion",
+			"BUSYMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for busy",
+			"BUSYRETRYTIME": "Time in minutes before trying to call again a failed contact due to busy",
+			"NOANSWERMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for no answer",
+			"NOANSWERRETRYTIME": "Time in minutes before trying to call again a failed contact due to no answer",
+			"GLOBALINTERVAL": "Global time interval during which the dialer is allowed to call contacts. We decline responsibility: pay attention when you modify this field, because you may fail to comply with the national Autodialer Laws and Regulations",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"MANDATORYDISPOSITIONPAUSEID": "Pozastavte stav, který chcete nastavit během povinné dispozice",
+			"PREDICTIVEMAXTHRESHOLD": "Pokud procento agentů dostupných v časovém okně ve srovnání s agenty dostupnými v době predikce překročí nakonfigurovaný maximální limit, prediktivní přepočítá predikci.",
+			"PREDICTIVEMINTHRESHOLD": "Pokud procento agentů dostupných v časovém okně ve srovnání s agenty dostupnými v době predikce překročí nakonfigurovaný minimální limit, prediktivní přepočítá predikci."
+		},
+		"MUSICONHOLD": "Music On Hold",
+		"ANNOUNCETOAGENT": "Announce To Agent",
+		"ANNOUNCEMENTS": "Announcements",
+		"ADVANCEDPREVIEW": "Advanced",
+		"ADVANCED": "Advanced",
+		"ADVANCE": "Advanced",
+		"ANNOUNCEFREQUENCY": "Announce Frequency",
+		"MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+		"PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+		"RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+		"ANNOUNCEHOLDTIME": "Announce Hold Time",
+		"ANNOUNCECALLERPOSITION": "Announce Caller Position",
+		"ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+		"REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+		"PERIODICANNOUNCE": "Periodic Announce",
+		"HOLDTIMEANNOUNCE": "Hold Time Announce",
+		"YOUARENEXTANNOUNCE": "'You are next' Announce",
+		"THEREAREANNOUNCE": "'There are' Announce",
+		"WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+		"ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+		"MINUTESANNOUNCE": "Minutes Announce",
+		"MINUTEANNOUNCE": "Minute Announce",
+		"SECONDSANNOUNCE": "Seconds Announce",
+		"THANKYOUANNOUNCE": "'Thank You' Announce",
+		"AUTOPAUSE": "Auto Pause",
+		"AFTERCALLWORK": "After Call Work",
+		"AFTERCALLWORKDURATION": "After Call Work Duration",
+		"RINGINUSE": "Ring In Use",
+		"MEMBERDELAY": "Member Delay",
+		"TIMEOUTRESTART": "Timeout Restart",
+		"MONITORFORMAT": "Recording Format",
+		"SETINTERFACEVARIABLES": "Set Interface Variables",
+		"SETQUEUEVARIABLES": "Set Queue Variables",
+		"SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+		"CONTEXT": "Context",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"INBOUNDROUTES": "Inbound Routes",
+		"PHONENUMBER": "Phone Number",
+		"ADD_INBOUNDROUTE": "Add Inbound Route",
+		"EDIT_INBOUNDROUTE": "Edit Inbound Route",
+		"DELETE_INBOUNDROUTE": "Delete Inbound Route",
+		"ACTIONS": "Actions",
+		"OUTBOUNDROUTES": "Outbound Routes",
+		"DESTINATIONPATTERN": "Destination Pattern",
+		"ADD_OUTBOUNDROUTE": "Add Outbound Route",
+		"EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+		"DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+		"CUTDIGITS": "Cut Digits",
+		"RECORDING": "Recording",
+		"RECORDINGFORMAT": "Recording format",
+		"INTERNALROUTES": "Internal Routes",
+		"ADD_INTERNALROUTE": "Add Internal Route",
+		"EDIT_INTERNALROUTE": "Edit Internal Route",
+		"DELETE_INTERNALROUTE": "Delete Internal Route",
+		"CONTEXTS": "Contexts",
+		"ADD_CONTEXT": "Add Context",
+		"EDIT_CONTEXT": "Edit Context",
+		"DELETE_CONTEXT": "Delete Context",
+		"VOICEMAILS": "Voicemails",
+		"ADD_VOICEMAIL": "Add Voicemail",
+		"EDIT_VOICEMAIL": "Edit Voicemail",
+		"DELETE_VOICEMAIL": "Delete Voicemail",
+		"FULLNAME": "Full Name",
+		"EMAIL": "Email",
+		"MAILBOX": "Mailbox",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"TIMEZONE": "Timezone",
+		"ATTACH": "Attach",
+		"ENVELOPE": "Envelope",
+		"DELETE": "Delete",
+		"EMAILBODY": "Email Body",
+		"EMAILSUBJECT": "Email Subject",
+		"MAXSECONDS": "Max Seconds",
+		"MAXMESSAGES": "Max Messages",
+		"MESSAGES": "Messages",
+		"SORT": "Sort",
+		"ADD_MUSICONHOLD": "Add Music On Hold",
+		"MUSICONHOLDS": "Music On Hold",
+		"EDIT_MUSICONHOLD": "Edit Music On Hold",
+		"DELETE_MUSICONHOLD": "Delete Music On Hold",
+		"DIRECTORY": "Directory",
+		"AUDIOFILES": "Audio Files",
+		"RECORDINGS": "Recordings",
+		"CHANSPY": "ChanSpy",
+		"PREFIX": "Prefix",
+		"OPTIONS": "Options",
+		"AUTH": "Auth",
+		"ADD_CHANSPY": "Add ChanSpy",
+		"EDIT_CHANSPY": "Edit ChanSpy",
+		"DELETE_CHANSPY": "Delete ChanSpy",
+		"AGENTS": "Agents",
+		"TELEPHONES": "Telephones",
+		"QUEUES": "Queues",
+		"QUEUE_CALLS": "Queue Calls",
+		"QUEUE_PARAMETERS": "Queue Parameters",
+		"ABANDONED_CALLS": "Abandoned Calls",
+		"OUTBOUND_CALLS": "Outbound Calls",
+		"AGI": "AGI",
+		"DIAL": "Dial",
+		"INTERNALDIAL": "Internal Dial",
+		"EXTERNALDIAL": "External Dial",
+		"RINGGROUP": "Ring Group",
+		"PLAYBACK": "Playback",
+		"QUEUE": "Queue",
+		"SET": "Set",
+		"VOICEMAIL": "Voicemail",
+		"GOTO": "GoTo",
+		"HANGUP": "Hangup",
+		"CUSTOM": "Custom",
+		"PROJECT": "Cally-Square Project",
+		"TECHNOLOGY/RESOURCE": "Technology/Resource",
+		"URL": "URL",
+		"EDIT_APP": "Edit Application",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_APP": "Delete Application",
+		"INTERVALS": "Intervals",
+		"USER": "User",
+		"TRUNK": "Trunk",
+		"PHONE": "Phone",
+		"AUDIO_FILES": "Audio Files",
+		"ANNOUNCE_OVERRIDES": "Announce Overrides",
+		"MACRO": "Macro",
+		"GOSUB": "GoSub",
+		"RULE": "Rule",
+		"POSITION": "Position",
+		"ANSWER": "Answer",
+		"VALUE": "Value",
+		"MAILBOX@CONTEXT": "Mailbox@Context",
+		"EXTENSION": "Extension",
+		"PRIORITY": "Priority",
+		"HANGUP_CAUSE": "Hangup Cause",
+		"OUTBOUNDDIAL": "Outbound Dial",
+		"CALLER_ID": "Caller ID",
+		"NO_MESSAGE_AVAILABLE": "No messages available",
+		"NO_SOUND_AVAILABLE": "No sounds available",
+		"VOICERECORDINGS": "Voice Recordings",
+		"CHANSPIES": "ChanSpy",
+		"VOICE": "Voice",
+		"REALTIME": "Realtime",
+		"ID": "Id",
+		"VOICEMAIL_CONTEXT": "Context",
+		"NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+		"FILE": "File",
+		"ADD_MOHSOUND": "Add Music On Hold sound",
+		"DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+		"DELETE_MOHSOUND": "Delete Music On Hold sound",
+		"UNIQUEID": "Unique ID",
+		"AGENT": "Agent",
+		"TYPE": "Type",
+		"RATING": "Rating",
+		"AUDIO": "Audio",
+		"DATE": "Date",
+		"NEW_VOICEQUEUE": "New Voice Queue",
+		"NEW_INBOUNDROUTE": "New Inbound Route",
+		"NEW_OUTBOUNDROUTE": "New Outbound Route",
+		"NEW_INTERNALROUTE": "New Internal Route",
+		"NEW_CONTEXT": "New Context",
+		"NEW_VOICEMAIL": "New Voicemail",
+		"NEW_MUSICONHOLD": "New Music On Hold",
+		"NEW_CHANSPY": "New ChanSpy",
+		"PENALTY": "Penalty",
+		"ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+		"ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+		"EDIT_DIAL": "Edit Dial",
+		"EDIT_AGI": "Edit AGI",
+		"EDIT_INTERNALDIAL": "Edit Internal Dial",
+		"EDIT_EXTERNALDIAL": "Edit External Dial",
+		"EDIT_RINGGROUP": "Edit Ring Group",
+		"EDIT_PLAYBACK": "Edit Playback",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_SET": "Edit Set",
+		"EDIT_GOTO": "Edit GoTo",
+		"EDIT_HANGUP": "Edit Hangup",
+		"EDIT_CUSTOM": "Edit Custom",
+		"DURATION": "Duration",
+		"RECEIVED_AT": "Received At",
+		"YES": "Yes",
+		"NO": "No",
+		"HANGUPCAUSE_1": "1 = Unallocated number",
+		"HANGUPCAUSE_16": "16 = Normal call clearing",
+		"HANGUPCAUSE_17": "17 = User busy",
+		"HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+		"HANGUPCAUSE_21": "21 = Call rejected",
+		"HANGUPCAUSE_22": "22 = Number changed",
+		"HANGUPCAUSE_27": "27 = Destination out of order",
+		"HANGUPCAUSE_38": "38 = Network out of order",
+		"HANGUPCAUSE_41": "41 = Temporary failure",
+		"RANDOM": "Random",
+		"ALPHABETICAL": "Alphabetical",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+		"DELETE_VOICERECORDING": "Delete Voice Recording",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"LAGGED": "Lagged",
+		"REACHABLE": "Reachable",
+		"UNREACHABLE": "Unreachable",
+		"UNKNOWN": "Unknown",
+		"NOT_INUSE": "Not in use",
+		"INUSE": "In Use",
+		"BUSY": "Busy",
+		"INVALID": "Invalid",
+		"UNAVAILABLE": "Unavailable",
+		"RINGING": "Ringing",
+		"ONHOLD": "On Hold",
+		"RING": "Ring",
+		"UP": "Up",
+		"INFO": "Info",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No registry",
+		"LOGGED_IN": "Logged in (SIP connected)",
+		"PAUSED": "Paused",
+		"DISPOSITION": "Disposition",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"DID": "DID",
+		"CALLER": "Caller",
+		"TOTAL": "Total",
+		"ANSWERED": "Answered",
+		"ABANDONED": "Abandoned",
+		"UNMANAGED": "Unmanaged",
+		"REDIRECT_TO_NUMBER": "Redirect to a number",
+		"REDIRECT_TO_AGENT": "Redirect to an agent",
+		"CLOSING": "Closing",
+		"AVG_HOLD_TIME": "Avg Hold Time",
+		"AVG_DURATION": "Avg Duration",
+		"AVG_BILLABLE": "Avg Billable",
+		"SOURCE": "Source",
+		"DESTINATION": "Destination",
+		"REJECTED": "Rejected",
+		"FAILED": "Failed",
+		"CALLED": "Called",
+		"CONNECTED": "Connected",
+		"NO_RATING": "No rating",
+		"EDIT_VOICERECORDING": "Edit Voice Recording",
+		"APPLICATION_NAME": "Application Name",
+		"ARGUMENTS": "Arguments",
+		"EDIT_QUEUECAMPAIGN": "Edit Campaign",
+		"LISTADD_QUEUECAMPAIGN": "Add List",
+		"BLACKLISTADD_QUEUECAMPAIGN": "Add Blacklist",
+		"TEAMADD_QUEUECAMPAIGN": "Add Team",
+		"AGENTADD_QUEUECAMPAIGN": "Add Agent",
+		"DELETE_QUEUECAMPAIGN": "Delete Campaign",
+		"DELETE_IVRCAMPAIGN": "Delete Campaign",
+		"EDIT_IVRCAMPAIGN": "Edit Campaign",
+		"NEW_IVRCAMPAIGN": "New IVR Campaign",
+		"ADD_IVRCAMPAIGN": "Add IVR Campaign",
+		"LISTADD_IVRCAMPAIGN": "Add List",
+		"BLACKLISTADD_IVRCAMPAIGN": "Add Blacklist",
+		"ENABLED": "Enabled",
+		"READY": "Ready",
+		"PAUSE": "Pause",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default Pause",
+		"AGENTADD_QUEUE": "Add Agent to queue campaign",
+		"AGENTSADD_QUEUE": "Add Agents to queue campaign",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"ALL_LISTS": "All Lists",
+		"SELECTED_LISTS": "Selected Lists",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"WAITING_FOR_AGENT": "Waiting for Agent",
+		"TOTAL_OFFERED": "Total Offered",
+		"RUNNING": "Running",
+		"TRUNK_IS_NOT_REACHABLE": "Trunk is Not Reachable",
+		"AGENTS_NOT_LOGGED": "Agent not logged",
+		"NOT_ACTIVE": "Not Active",
+		"IS_DISACTIVED": "Deactivated",
+		"BACKUPTRUNK": "Backup Trunk",
+		"GLOBALINTERVAL": "Global Interval",
+		"RESCHEDULED_CONTACTS": "Rescheduled contacts",
+		"INTERVAL_IS_OVERTIME": "Out of Interval",
+		"GLOBAL_INTERVAL_IS_OVERTIME": "Out of Interval (Global)",
+		"INTERVAL_IS_NULL": "Interval is Null",
+		"TIMEZONE_UNKNOW": "Timezone Unknow",
+		"INTERVAL_IS_EMPTY": "Interval is Empty",
+		"TOTAL_MANAGED": "Total Managed",
+		"OPEN": "Open",
+		"FRESH": "Fresh",
+		"CLOSED": "Closed",
+		"ALWAYS": "Always",
+		"NEVER": "Never",
+		"ONLY_IF_OPEN": "Only If Open",
+		"CHECKDUPLICATE": "Check Duplicate",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"ANSWERED_CALLS": "Přijatá volání",
+		"ANSWERING_MACHINE": "Záznamník",
+		"AVG_TALK_TIME": "Průměrná doba hovoru",
+		"CURRENT_INTERVAL": "Aktuální interval",
+		"DATA_COLLECTION_IN_PROGRESSIVE": "Sběr dat v Progressive",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Povinný stav pozastavení stavu",
+		"ONE_CALL_EVERY": "Jeden hovor každý",
+		"PREDICTIVEMAXTHRESHOLD": "Prediktivní maximální prahová hodnota [%]",
+		"PREDICTIVEMINTHRESHOLD": "Prediktivní minimální prahová hodnota [%]",
+		"PREDICTIVE_IS_NOT_RUNNING": "Prediktivní neběží",
+		"PREDICTIVE_IS_RUNNING": "Prediktivní běží",
+		"PREVIOUS_INTERVAL": "Předchozí interval",
+		"RECALLINQUEUE": "Vyvolejte ve frontě",
+		"REFRESH_SCHEDULED_CALLS": "Obnovit naplánované hovory",
+		"SCHEDULED_CALLS": "Naplánovaná volání",
+		"SELECT_CAMPAIGN": "Vyberte kampaň",
+		"SELECT_DATE": "Vyberte datum",
+		"SELECT_TYPE": "Vyberte Typ",
+		"SHOW_PREDICTIVE_QUEUE_CAMPAIGN_INFO": "Zobrazit prediktivní informace",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"THRESHOLDS": "Prahové hodnoty",
+		"TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+		"TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
+		"TOTAL_CALLS": "Celkový počet volání"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/motiondialer/i18n/et.json b/public/app/main/apps/motiondialer/i18n/et.json
new file mode 100644
index 0000000..af8c9cf
--- /dev/null
+++ b/public/app/main/apps/motiondialer/i18n/et.json
@@ -0,0 +1,645 @@
+{
+	"MOTIONDIALER": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"CUTDIGIT": "Cut Digits",
+		"RANDOMLASTDIGITCALLERIDNUMBER": "Random Outgoing CallerId Number",
+		"CLONE_IVRCAMPAIGN": "Clone Campaign",
+		"CLONE_QUEUECAMPAIGN": "Clone Queue Campaign",
+		"ABANDONEDCALLS": "Abandoned Queue Calls",
+		"HOPPERWIDGET": "Summary",
+		"RESETLIST_IVRCAMPAIGN": "Reset Lists",
+		"RESETLIST_QUEUECAMPAIGN": "Reset Lists",
+		"RESET": "Reset",
+		"RESETLIST": "Reset Lists",
+		"SELECTALL": "Select All",
+		"UNSELECTALL": "Un-Select All",
+		"NO_AVAILABLE_INFO": "No available info",
+		"TIMEOUT": "Timeout",
+		"CALLYSQUAREPROJECTPREVIEW": "Cally Square Project Preview",
+		"CALLYSQUAREPROJECTPREVIEW2": "Cally Square Project After Preview",
+		"RUNIFHANGUPAGENT": "Run Cally Square Project After even if the agent hangs up the call",
+		"CALLYSQUAREPROJECT2": "Cally Square Project After Queue",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"PARTIALPAUSE": "Parital Pause",
+		"ALL": "All",
+		"IDLE": "Idle",
+		"TIMER": "Timer",
+		"MOVE_HOPPERFINAL": "Restore contact",
+		"RESTORECONTACTS": "Restore Contacts",
+		"NO_SUCH_NUMBER": "No Such Number",
+		"DIALORDERBYSCHEDULEDAT": "Order By scheduledat",
+		"ASC": "ASC",
+		"DESC": "DESC",
+		"RECALLAGENT": "Recall Agent",
+		"DIALRECALLINQUEUE": "Recall In Queue",
+		"DIALRECALLMETIMEOUT": "Recall Me Timeout [min]",
+		"RECALLME": "Recall Me",
+		"RECALLFAILEDTIMEOUT": "Recall Failed",
+		"PREVIEW_CAMPAIGN": "Preview Campaigns",
+		"PREVIEW_CAMPAIGNS": "Preview Campaigns",
+		"AMD": "Asterisk Answering Machine Detection (AMD)",
+		"AMDTOTALANALYSISTIME": "Total Analysis Time",
+		"AMDACTIVE": "AMD",
+		"AMDINITIALSILENCE": "Initial Silence",
+		"AMDGREETING": "Greeting",
+		"AMDAFTERGREETINGSILENCE": "Silence after Greeting",
+		"AMDSILENCETHRESHOLD": "Silence Threshold",
+		"AMDMINWORDLENGTH": "Min Word Length",
+		"AMDBETWEENWORDSSILENCE": "Silence Between Words",
+		"AMDMAXIMUMWORDLENGTH": "Maximum Word Length",
+		"AMDMAXIMUMNUMBEROFWORDS": "Maximum Number Of Words",
+		"GOTO_QUEUECAMPAIGN": "Go To Realtime Queue Campaigns",
+		"GOTOREALTIME_QUEUECAMPAIGN": "Go To Realtime Queue Campaigns",
+		"GOTO_IVRCAMPAIGN": "Go To Realtime IVR Campaigns",
+		"GOTOREALTIME_IVRCAMPAIGN": "Go To Realtime IVR Campaigns",
+		"LOGOUT": "Logout",
+		"EDIT_CAMPAIGN": "Edit Campaign",
+		"LIMITED": "Limited",
+		"IVR_CAMPAIGNS": "IVR Campaigns",
+		"MOTIONDIALER": "Motion Bull",
+		"QUEUECAMPAIGNS": "Queue Campaigns",
+		"IVRCAMPAIGNS": "IVR Campaigns",
+		"MANAGED": "Managed",
+		"AVAILABLE_CONTACTS_FINISHED": "Available contacts finished",
+		"HISTORY": "History",
+		"SCHEDULEDAT": "Scheduled At",
+		"HOPPERBLACKS": "Hopper Blacklist",
+		"NO_HOPPERBLACK_AVAILABLE": "No items available",
+		"HOPPERFINALS": "Hopper Final",
+		"NO_HOPPERFINAL_AVAILABLE": "No items available",
+		"HOPPERHISTORIES": "Call history",
+		"NO_HOPPERHISTORY_AVAILABLE": "No items available",
+		"DELETE_HOPPERHISTORY": "Delete",
+		"DELETE_HOPPERFINAL": "Delete",
+		"CONTACTID": "Contact ID",
+		"STARTTIME": "Start Time",
+		"RESPONSETIME": "Response Time",
+		"ENDTIME": "End Time",
+		"STATUS": "Status",
+		"HOPPERS": "Hopper",
+		"NO_HOPPER_AVAILABLE": "No items available",
+		"EDIT_HOPPER": "Edit Hopper",
+		"DELETE_HOPPER": "Delete Hopper",
+		"FINAL": "Final",
+		"BLACKLIST": "Blacklist",
+		"NAME": "Name",
+		"VOICEQUEUES": "Voice Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+		"EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+		"EDIT_VOICEQUEUE": "Edit Voice Queue",
+		"DELETE_VOICEQUEUE": "Delete Voice Queue",
+		"MOHSOUNDS": "Moh Sounds",
+		"STRATEGY": "Strategy",
+		"DESCRIPTION": "Description",
+		"INTERVAL": "Time Interval",
+		"ADD_VOICEQUEUE": "Add Voice Queue",
+		"NEW_QUEUECAMPAIGN": "New Queue Campaign",
+		"ACTIVE": "Active",
+		"METHOD": "Method",
+		"POWERLEVEL": "Power Level",
+		"DROPRATE": "Drop Rate",
+		"AGENTBUSYFACTOR": "Agent Busy Factor",
+		"PREDICTIVEOPTIMIZATION": "Predictive Optimization",
+		"PREDICTIVEOPTIMIZATIONPERCENTAGE": "Predictive Optimization Percentage",
+		"PREDICTIVEINTERVAL": "Predictive Interval",
+		"ADD_QUEUECAMPAIGN": "Add Queue Campaign",
+		"CAMPAIGN": "Campaign",
+		"MAXCONCURRENTCALLS": "Max Concurrent Calls",
+		"CONCURRENTCALLS": "Max Concurrent Calls",
+		"ORIGINATE": "Originate",
+		"ORIGINATECALLERIDNAME": "Caller ID Name",
+		"ORIGINATECALLERIDNUMBER": "Caller ID Number",
+		"ORIGINATETIMEOUT": "Originate Timeout",
+		"QUEUEOPTIONS": "Queue Options",
+		"QUEUETIMEOUT": "Queue Timeout",
+		"CALLYSQUAREPROJECT": "Cally Square Project",
+		"RETRYANDFREQUENCY": "Retry Settings",
+		"GLOBAL": "Global",
+		"GLOBALMAXRETRY": "Max Retries",
+		"CONGESTION": "Congestion",
+		"CONGESTIONMAXRETRY": "Max Retries",
+		"CONGESTIONRETRYTIME": "Retry Time [min]",
+		"BUSYMAXRETRY": "Max Retries",
+		"BUSYRETRYTIME": "Retry Time [min]",
+		"NOANSWER": "No Answer",
+		"NOANSWERMAXRETRY": "Max Retries",
+		"NOANSWERRETRYTIME": "Retry Time [min]",
+		"QUEUE_PARAMS": "Queue Parameters",
+		"ORIGINATED": "Originated",
+		"MESSAGE": "Message",
+		"DROPPED": "Dropped",
+		"CREATED_AT": "Created At",
+		"LEGEND": {
+			"CUSTOM_APPLICATION": "(*) - Custom application."
+		},
+		"ERRORS": {
+			"CUTDIGIT_REQUIRED": "Mandatory field",
+			"CUTDIGIT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CUTDIGIT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"RANDOMLASTDIGITCALLERIDNUMBER_REQUIRED": "Mandatory field",
+			"RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTIMEOUT_REQUIRED": "Mandatory field",
+			"INTERVAL_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"DIALRECALLMETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DIALRECALLMETIMEOUT_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"PREFIX_MUST_VALID_PATTERN": "Wrong format",
+			"NAME_REQUIRED": "Mandatory field",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"PHONENUMBER_REQUIRED": "Mandatory field",
+			"CONTEXT_REQUIRED": "Mandatory field",
+			"DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"MAILBOX_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TIMEZONE_REQUIRED": "Mandatory field",
+			"PREFIX_REQUIRED": "Mandatory field",
+			"OPTIONS_REQUIRED": "Mandatory field",
+			"AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+			"TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"EXTENSION_REQUIRED": "Mandatory field",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"GLOBALMAXRETRY_REQUIRED": "Mandatory field",
+			"CONGESTIONMAXRETRY_REQUIRED": "Mandatory field",
+			"CONGESTIONRETRYTIME_REQUIRED": "Mandatory field",
+			"BUSYMAXRETRY_REQUIRED": "Mandatory field",
+			"BUSYRETRYTIME_REQUIRED": "Mandatory field",
+			"NOANSWERMAXRETRY_REQUIRED": "Mandatory field",
+			"NOANSWERRETRYTIME_REQUIRED": "Mandatory field",
+			"QUEUETIMEOUT_REQUIRED": "Mandatory field",
+			"ORIGINATETIMEOUT_REQUIRED": "Mandatory field",
+			"GLOBALINTERVAL_REQUIRED": "Mandatory field",
+			"MAXCONCURRENTCALLS_REQUIRED": "Mandatory field",
+			"CONCURRENTCALLS_REQUIRED": "Mandatory field",
+			"POWERLEVEL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PREDICTIVEINTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXCONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"ORIGINATETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"GLOBALMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONGESTIONMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONGESTIONRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"BUSYMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"BUSYRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NOANSWERMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NOANSWERRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"POWERLEVEL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"PREDICTIVEINTERVAL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MAXCONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"ORIGINATETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"GLOBALMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONGESTIONMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONGESTIONRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"BUSYMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"BUSYRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NOANSWERMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NOANSWERRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_REQUIRED": "Kohustuslik väli",
+			"CALLYSQUAREPROJECT_REQUIRED": "Kohustuslik väli",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
+			"TRUNK_REQUIRED": "Kohustuslik väli"
+		},
+		"GENERAL": "General",
+		"AGENTTIMEOUT": "Agent Timeout",
+		"MAXLENGTH": "Maximum Length",
+		"RETRY": "Retry",
+		"WRAPUPTIME": "Wrapup Time",
+		"WEIGHT": "Weight",
+		"JOINWHENEMPTY": "Join when empty",
+		"LEAVEWHENEMPTY": "Leave when empty",
+		"HELP": {
+			"RANDOMLASTDIGITCALLERIDNUMBER": "If greater than 0, it generates randomly the corresponding last digits of the Outgoing Caller Id Number",
+			"TIMEOUT": "Number of seconds to ring agent in queue",
+			"CALLYSQUAREPROJECTPREVIEW": "Selecting an IVR project, the dialer will forward the call to the IVR when an agent answers (the IVR will be directed to the agent)",
+			"CALLYSQUAREPROJECTPREVIEW2": "Selecting an IVR project, the dialer will forward the call to the IVR when an client hangup or unreachable (the IVR will be directed to the agent)",
+			"RUNIFHANGUPAGENT": "Run Cally Square Project After even if the agent hangs up the call",
+			"CALLYSQUAREPROJECT2": "iSelecting an IVR project, the dialer will forward the call to the IVR after the queue (if the queue ends by timeout)",
+			"DIALORDERBYSCHEDULEDAT": "Get contacts from hopper (descending or ascending).",
+			"DIALRECALLINQUEUE": "Reschedule call for agents in the Queue",
+			"DIALRECALLMETIMEOUT": "Time interval (in minutes) for Recall Me period of validity",
+			"PRIORITY": "Priority in the list",
+			"AMDMAXIMUMWORDLENGTH": "Maximum duration allowed of a single Voice utterance",
+			"AMDMINWORDLENGTH": "Minimum duration of a Voice to be considered a word",
+			"AMDSILENCETHRESHOLD": "If the average level of noise in a sample does not reach this value, from a scale of 0 to 32767, then we will consider it as silence",
+			"AMDTOTALANALYSISTIME": "Maximum time allowed for the algorithm to decide on whether the audio represents a HUMAN or a MACHINE",
+			"AMDAFTERGREETINGSILENCE": "Silence after detecting a greeting. If exceeded, then the result is detection as a HUMAN",
+			"AMDGREETING": "Maximum length of a greeting. If exceeded, then the result is detection as a MACHINE",
+			"AMDINITIALSILENCE": "Maximum silence duration before the greeting. If exceeded, then the result is detection as a MACHINE",
+			"AMDACTIVE": "Activate or disactivate answering machines detection attempts",
+			"AMDBETWEENWORDSSILENCE": "Minimum duration of silence after a word to consider the audio that follows as a new word",
+			"AMDMAXIMUMNUMBEROFWORDS": "Maximum number of words in the greeting. If REACHED, then the result is detection as a MACHINE",
+			"CALLYSQUAREPROJECT": "Selecting an IVR project, the dialer will forward the call to the IVR before the queue",
+			"PREFIX": "Telephone prefix",
+			"ACTIVE": "Active",
+			"AGENTTIMEOUT": "How long (in seconds) to ring an agent’s device",
+			"MAXLENGTH": "Maximum number of callers allowed to be waiting in a queue (0=unlimited)",
+			"RETRY": "How long (in seconds) to wait before calling the next agent in the queue when the agent timeout is expired",
+			"WRAPUPTIME": "How long (in seconds) to keep an agent unavailable in a queue after completing a call",
+			"WEIGHT": "Used to determine priority if the agents are associated with more than one queue",
+			"JOINWHENEMPTY": "If a caller is added to the queue, when no agents are available",
+			"LEAVEWHENEMPTY": "If a caller is expelled from the queue when no agents are available",
+			"ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (0=disable)",
+			"MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+			"PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+			"ANNOUNCEPOSITIONLIMIT": "Used if you’ve defined announce-position as either 'limit' or 'more'",
+			"AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+			"MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+			"MUSICONHOLD": "Sets the music class to use for a particular queue",
+			"ANNOUNCETOAGENT": "Plays an announcement to the agent answering the call (e.g. to let him know which queue the caller is coming from)",
+			"RANDOMPERIODICANNOUNCE": "If yes, it plays the periodic announcements in random order",
+			"ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+			"ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+			"REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+			"PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+			"HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+			"YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
+			"THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+			"WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+			"ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+			"MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+			"MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+			"SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+			"THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+			"AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+			"AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled, it causes the agent to be paused in all queues he belongs to",
+			"RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+			"TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+			"MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+			"CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+			"SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"RECORDING": "Enable call recording",
+			"VOICEMAIL_CONTEXT": "The context of the relative extension",
+			"METHOD": "Outbound dialer method",
+			"POWERLEVEL": "Number of contacts to call for any available agent",
+			"PREDICTIVEOPTIMIZATION": "A factor to optimize in the predictive algorithm",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE": "Percentage based on the selected predictive optimization factor",
+			"PREDICTIVEINTERVAL": "Time interval (in minutes) considered by the predictive algorithm to calculate the amount of calls to generate to optimize the result",
+			"MAXCONCURRENTCALLS": "Maximum number of concurrent calls that will be originated by the outbound dialer for this campaign (0=unlimited)",
+			"CONCURRENTCALLS": "Maximum number of concurrent calls that will be originated by the outbound dialer for this campaign",
+			"ORIGINATECALLERIDNAME": "Outgoing Caller Id Name",
+			"ORIGINATECALLERIDNUMBER": "Outgoing Caller Id Number",
+			"ORIGINATETIMEOUT": "Time (in seconds) for the outbound call to establish a connection, otherwise the status is set to No Answer ",
+			"QUEUETIMEOUT": "Time (in seconds) a call will wait in the queue before it is dropped (Min 1 and Max 999)",
+			"GLOBALMAXRETRY": "Maximum number of times a contact is called before considering it closed",
+			"CONGESTIONMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for congestion",
+			"CONGESTIONRETRYTIME": "Time in minutes before trying to call again a failed contact due to congestion",
+			"BUSYMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for busy",
+			"BUSYRETRYTIME": "Time in minutes before trying to call again a failed contact due to busy",
+			"NOANSWERMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for no answer",
+			"NOANSWERRETRYTIME": "Time in minutes before trying to call again a failed contact due to no answer",
+			"GLOBALINTERVAL": "Global time interval during which the dialer is allowed to call contacts. We decline responsibility: pay attention when you modify this field, because you may fail to comply with the national Autodialer Laws and Regulations",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"MANDATORYDISPOSITIONPAUSEID": "Peata olek, et seadistada kohustusliku dispositsiooni ajal",
+			"PREDICTIVEMAXTHRESHOLD": "Kui ajaaknas saadaolevate agensite protsent ületab ennustamise ajal saadaolevate agendite protsent konfigureeritud maksimaalset piiri, arvutab ennustaja ennustuse uuesti.",
+			"PREDICTIVEMINTHRESHOLD": "Kui ajaaknas saadaolevate esindajate protsent ületab ennustamise ajal saadaolevate agendite protsenti konfigureeritud miinimumpiirist, arvutab ennustaja ennustuse uuesti."
+		},
+		"MUSICONHOLD": "Music On Hold",
+		"ANNOUNCETOAGENT": "Announce To Agent",
+		"ANNOUNCEMENTS": "Announcements",
+		"ADVANCEDPREVIEW": "Advanced",
+		"ADVANCED": "Advanced",
+		"ADVANCE": "Advanced",
+		"ANNOUNCEFREQUENCY": "Announce Frequency",
+		"MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+		"PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+		"RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+		"ANNOUNCEHOLDTIME": "Announce Hold Time",
+		"ANNOUNCECALLERPOSITION": "Announce Caller Position",
+		"ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+		"REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+		"PERIODICANNOUNCE": "Periodic Announce",
+		"HOLDTIMEANNOUNCE": "Hold Time Announce",
+		"YOUARENEXTANNOUNCE": "'You are next' Announce",
+		"THEREAREANNOUNCE": "'There are' Announce",
+		"WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+		"ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+		"MINUTESANNOUNCE": "Minutes Announce",
+		"MINUTEANNOUNCE": "Minute Announce",
+		"SECONDSANNOUNCE": "Seconds Announce",
+		"THANKYOUANNOUNCE": "'Thank You' Announce",
+		"AUTOPAUSE": "Auto Pause",
+		"AFTERCALLWORK": "After Call Work",
+		"AFTERCALLWORKDURATION": "After Call Work Duration",
+		"RINGINUSE": "Ring In Use",
+		"MEMBERDELAY": "Member Delay",
+		"TIMEOUTRESTART": "Timeout Restart",
+		"MONITORFORMAT": "Recording Format",
+		"SETINTERFACEVARIABLES": "Set Interface Variables",
+		"SETQUEUEVARIABLES": "Set Queue Variables",
+		"SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+		"CONTEXT": "Context",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"INBOUNDROUTES": "Inbound Routes",
+		"PHONENUMBER": "Phone Number",
+		"ADD_INBOUNDROUTE": "Add Inbound Route",
+		"EDIT_INBOUNDROUTE": "Edit Inbound Route",
+		"DELETE_INBOUNDROUTE": "Delete Inbound Route",
+		"ACTIONS": "Actions",
+		"OUTBOUNDROUTES": "Outbound Routes",
+		"DESTINATIONPATTERN": "Destination Pattern",
+		"ADD_OUTBOUNDROUTE": "Add Outbound Route",
+		"EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+		"DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+		"CUTDIGITS": "Cut Digits",
+		"RECORDING": "Recording",
+		"RECORDINGFORMAT": "Recording format",
+		"INTERNALROUTES": "Internal Routes",
+		"ADD_INTERNALROUTE": "Add Internal Route",
+		"EDIT_INTERNALROUTE": "Edit Internal Route",
+		"DELETE_INTERNALROUTE": "Delete Internal Route",
+		"CONTEXTS": "Contexts",
+		"ADD_CONTEXT": "Add Context",
+		"EDIT_CONTEXT": "Edit Context",
+		"DELETE_CONTEXT": "Delete Context",
+		"VOICEMAILS": "Voicemails",
+		"ADD_VOICEMAIL": "Add Voicemail",
+		"EDIT_VOICEMAIL": "Edit Voicemail",
+		"DELETE_VOICEMAIL": "Delete Voicemail",
+		"FULLNAME": "Full Name",
+		"EMAIL": "Email",
+		"MAILBOX": "Mailbox",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"TIMEZONE": "Timezone",
+		"ATTACH": "Attach",
+		"ENVELOPE": "Envelope",
+		"DELETE": "Delete",
+		"EMAILBODY": "Email Body",
+		"EMAILSUBJECT": "Email Subject",
+		"MAXSECONDS": "Max Seconds",
+		"MAXMESSAGES": "Max Messages",
+		"MESSAGES": "Messages",
+		"SORT": "Sort",
+		"ADD_MUSICONHOLD": "Add Music On Hold",
+		"MUSICONHOLDS": "Music On Hold",
+		"EDIT_MUSICONHOLD": "Edit Music On Hold",
+		"DELETE_MUSICONHOLD": "Delete Music On Hold",
+		"DIRECTORY": "Directory",
+		"AUDIOFILES": "Audio Files",
+		"RECORDINGS": "Recordings",
+		"CHANSPY": "ChanSpy",
+		"PREFIX": "Prefix",
+		"OPTIONS": "Options",
+		"AUTH": "Auth",
+		"ADD_CHANSPY": "Add ChanSpy",
+		"EDIT_CHANSPY": "Edit ChanSpy",
+		"DELETE_CHANSPY": "Delete ChanSpy",
+		"AGENTS": "Agents",
+		"TELEPHONES": "Telephones",
+		"QUEUES": "Queues",
+		"QUEUE_CALLS": "Queue Calls",
+		"QUEUE_PARAMETERS": "Queue Parameters",
+		"ABANDONED_CALLS": "Abandoned Calls",
+		"OUTBOUND_CALLS": "Outbound Calls",
+		"AGI": "AGI",
+		"DIAL": "Dial",
+		"INTERNALDIAL": "Internal Dial",
+		"EXTERNALDIAL": "External Dial",
+		"RINGGROUP": "Ring Group",
+		"PLAYBACK": "Playback",
+		"QUEUE": "Queue",
+		"SET": "Set",
+		"VOICEMAIL": "Voicemail",
+		"GOTO": "GoTo",
+		"HANGUP": "Hangup",
+		"CUSTOM": "Custom",
+		"PROJECT": "Cally-Square Project",
+		"TECHNOLOGY/RESOURCE": "Technology/Resource",
+		"URL": "URL",
+		"EDIT_APP": "Edit Application",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_APP": "Delete Application",
+		"INTERVALS": "Intervals",
+		"USER": "User",
+		"TRUNK": "Trunk",
+		"PHONE": "Phone",
+		"AUDIO_FILES": "Audio Files",
+		"ANNOUNCE_OVERRIDES": "Announce Overrides",
+		"MACRO": "Macro",
+		"GOSUB": "GoSub",
+		"RULE": "Rule",
+		"POSITION": "Position",
+		"ANSWER": "Answer",
+		"VALUE": "Value",
+		"MAILBOX@CONTEXT": "Mailbox@Context",
+		"EXTENSION": "Extension",
+		"PRIORITY": "Priority",
+		"HANGUP_CAUSE": "Hangup Cause",
+		"OUTBOUNDDIAL": "Outbound Dial",
+		"CALLER_ID": "Caller ID",
+		"NO_MESSAGE_AVAILABLE": "No messages available",
+		"NO_SOUND_AVAILABLE": "No sounds available",
+		"VOICERECORDINGS": "Voice Recordings",
+		"CHANSPIES": "ChanSpy",
+		"VOICE": "Voice",
+		"REALTIME": "Realtime",
+		"ID": "Id",
+		"VOICEMAIL_CONTEXT": "Context",
+		"NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+		"FILE": "File",
+		"ADD_MOHSOUND": "Add Music On Hold sound",
+		"DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+		"DELETE_MOHSOUND": "Delete Music On Hold sound",
+		"UNIQUEID": "Unique ID",
+		"AGENT": "Agent",
+		"TYPE": "Type",
+		"RATING": "Rating",
+		"AUDIO": "Audio",
+		"DATE": "Date",
+		"NEW_VOICEQUEUE": "New Voice Queue",
+		"NEW_INBOUNDROUTE": "New Inbound Route",
+		"NEW_OUTBOUNDROUTE": "New Outbound Route",
+		"NEW_INTERNALROUTE": "New Internal Route",
+		"NEW_CONTEXT": "New Context",
+		"NEW_VOICEMAIL": "New Voicemail",
+		"NEW_MUSICONHOLD": "New Music On Hold",
+		"NEW_CHANSPY": "New ChanSpy",
+		"PENALTY": "Penalty",
+		"ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+		"ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+		"EDIT_DIAL": "Edit Dial",
+		"EDIT_AGI": "Edit AGI",
+		"EDIT_INTERNALDIAL": "Edit Internal Dial",
+		"EDIT_EXTERNALDIAL": "Edit External Dial",
+		"EDIT_RINGGROUP": "Edit Ring Group",
+		"EDIT_PLAYBACK": "Edit Playback",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_SET": "Edit Set",
+		"EDIT_GOTO": "Edit GoTo",
+		"EDIT_HANGUP": "Edit Hangup",
+		"EDIT_CUSTOM": "Edit Custom",
+		"DURATION": "Duration",
+		"RECEIVED_AT": "Received At",
+		"YES": "Yes",
+		"NO": "No",
+		"HANGUPCAUSE_1": "1 = Unallocated number",
+		"HANGUPCAUSE_16": "16 = Normal call clearing",
+		"HANGUPCAUSE_17": "17 = User busy",
+		"HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+		"HANGUPCAUSE_21": "21 = Call rejected",
+		"HANGUPCAUSE_22": "22 = Number changed",
+		"HANGUPCAUSE_27": "27 = Destination out of order",
+		"HANGUPCAUSE_38": "38 = Network out of order",
+		"HANGUPCAUSE_41": "41 = Temporary failure",
+		"RANDOM": "Random",
+		"ALPHABETICAL": "Alphabetical",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+		"DELETE_VOICERECORDING": "Delete Voice Recording",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"LAGGED": "Lagged",
+		"REACHABLE": "Reachable",
+		"UNREACHABLE": "Unreachable",
+		"UNKNOWN": "Unknown",
+		"NOT_INUSE": "Not in use",
+		"INUSE": "In Use",
+		"BUSY": "Busy",
+		"INVALID": "Invalid",
+		"UNAVAILABLE": "Unavailable",
+		"RINGING": "Ringing",
+		"ONHOLD": "On Hold",
+		"RING": "Ring",
+		"UP": "Up",
+		"INFO": "Info",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No registry",
+		"LOGGED_IN": "Logged in (SIP connected)",
+		"PAUSED": "Paused",
+		"DISPOSITION": "Disposition",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"DID": "DID",
+		"CALLER": "Caller",
+		"TOTAL": "Total",
+		"ANSWERED": "Answered",
+		"ABANDONED": "Abandoned",
+		"UNMANAGED": "Unmanaged",
+		"REDIRECT_TO_NUMBER": "Redirect to a number",
+		"REDIRECT_TO_AGENT": "Redirect to an agent",
+		"CLOSING": "Closing",
+		"AVG_HOLD_TIME": "Avg Hold Time",
+		"AVG_DURATION": "Avg Duration",
+		"AVG_BILLABLE": "Avg Billable",
+		"SOURCE": "Source",
+		"DESTINATION": "Destination",
+		"REJECTED": "Rejected",
+		"FAILED": "Failed",
+		"CALLED": "Called",
+		"CONNECTED": "Connected",
+		"NO_RATING": "No rating",
+		"EDIT_VOICERECORDING": "Edit Voice Recording",
+		"APPLICATION_NAME": "Application Name",
+		"ARGUMENTS": "Arguments",
+		"EDIT_QUEUECAMPAIGN": "Edit Campaign",
+		"LISTADD_QUEUECAMPAIGN": "Add List",
+		"BLACKLISTADD_QUEUECAMPAIGN": "Add Blacklist",
+		"TEAMADD_QUEUECAMPAIGN": "Add Team",
+		"AGENTADD_QUEUECAMPAIGN": "Add Agent",
+		"DELETE_QUEUECAMPAIGN": "Delete Campaign",
+		"DELETE_IVRCAMPAIGN": "Delete Campaign",
+		"EDIT_IVRCAMPAIGN": "Edit Campaign",
+		"NEW_IVRCAMPAIGN": "New IVR Campaign",
+		"ADD_IVRCAMPAIGN": "Add IVR Campaign",
+		"LISTADD_IVRCAMPAIGN": "Add List",
+		"BLACKLISTADD_IVRCAMPAIGN": "Add Blacklist",
+		"ENABLED": "Enabled",
+		"READY": "Ready",
+		"PAUSE": "Pause",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default Pause",
+		"AGENTADD_QUEUE": "Add Agent to queue campaign",
+		"AGENTSADD_QUEUE": "Add Agents to queue campaign",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"ALL_LISTS": "All Lists",
+		"SELECTED_LISTS": "Selected Lists",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"WAITING_FOR_AGENT": "Waiting for Agent",
+		"TOTAL_OFFERED": "Total Offered",
+		"RUNNING": "Running",
+		"TRUNK_IS_NOT_REACHABLE": "Trunk is Not Reachable",
+		"AGENTS_NOT_LOGGED": "Agent not logged",
+		"NOT_ACTIVE": "Not Active",
+		"IS_DISACTIVED": "Deactivated",
+		"BACKUPTRUNK": "Backup Trunk",
+		"GLOBALINTERVAL": "Global Interval",
+		"RESCHEDULED_CONTACTS": "Rescheduled contacts",
+		"INTERVAL_IS_OVERTIME": "Out of Interval",
+		"GLOBAL_INTERVAL_IS_OVERTIME": "Out of Interval (Global)",
+		"INTERVAL_IS_NULL": "Interval is Null",
+		"TIMEZONE_UNKNOW": "Timezone Unknow",
+		"INTERVAL_IS_EMPTY": "Interval is Empty",
+		"TOTAL_MANAGED": "Total Managed",
+		"OPEN": "Open",
+		"FRESH": "Fresh",
+		"CLOSED": "Closed",
+		"ALWAYS": "Always",
+		"NEVER": "Never",
+		"ONLY_IF_OPEN": "Only If Open",
+		"CHECKDUPLICATE": "Check Duplicate",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"ANSWERED_CALLS": "Vastatud kõnedele",
+		"ANSWERING_MACHINE": "Automaatvastaja",
+		"AVG_TALK_TIME": "Keskmine kõneaeg",
+		"CURRENT_INTERVAL": "Praegune intervall",
+		"DATA_COLLECTION_IN_PROGRESSIVE": "Andmete kogumine progressiivne",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Kohustusliku dispositsiooni pausi olek",
+		"ONE_CALL_EVERY": "Üks kõne iga kord",
+		"PREDICTIVEMAXTHRESHOLD": "Prognoositav maksimaalne lävi [%]",
+		"PREDICTIVEMINTHRESHOLD": "Prognoositav minimaalne lävi [%]",
+		"PREDICTIVE_IS_NOT_RUNNING": "Ennustav ei tööta",
+		"PREDICTIVE_IS_RUNNING": "Ennustaja töötab",
+		"PREVIOUS_INTERVAL": "Eelmine intervall",
+		"RECALLINQUEUE": "Tagasikutsumine järjekorras",
+		"REFRESH_SCHEDULED_CALLS": "Ajastatud kõnede värskendamine",
+		"SCHEDULED_CALLS": "Ajastatud kõned",
+		"SELECT_CAMPAIGN": "Valige kampaania",
+		"SELECT_DATE": "Valige kuupäev",
+		"SELECT_TYPE": "Valige Tüüp",
+		"SHOW_PREDICTIVE_QUEUE_CAMPAIGN_INFO": "Kuva ennustavat teavet",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"THRESHOLDS": "Künnised",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
+		"TOTAL_CALLS": "Kõnesid kokku"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/motiondialer/i18n/lt.json b/public/app/main/apps/motiondialer/i18n/lt.json
new file mode 100644
index 0000000..2956fb7
--- /dev/null
+++ b/public/app/main/apps/motiondialer/i18n/lt.json
@@ -0,0 +1,645 @@
+{
+	"MOTIONDIALER": {
+		"ONE_CALL_EVERY": "One call every",
+		"CURRENT_INTERVAL": "Current Interval",
+		"PREVIOUS_INTERVAL": "Previous Interval",
+		"PREDICTIVE_IS_RUNNING": "Predictive is running",
+		"PREDICTIVE_IS_NOT_RUNNING": "Predictive is not running",
+		"DATA_COLLECTION_IN_PROGRESSIVE": "Data collection in Progressive",
+		"SHOW_PREDICTIVE_QUEUE_CAMPAIGN_INFO": "Show Predictive Info",
+		"AVG_TALK_TIME": "Avg Talk Time",
+		"ANSWERED_CALLS": "Answered Calls",
+		"TOTAL_CALLS": "Total Calls",
+		"THRESHOLDS": "Thresholds",
+		"PREDICTIVEMAXTHRESHOLD": "Predictive Max Threshold [%]",
+		"PREDICTIVEMINTHRESHOLD": "Predictive Min Threshold [%]",
+		"REFRESH_SCHEDULED_CALLS": "Refresh Scheduled Calls",
+		"RECALLINQUEUE": "Recall in queue",
+		"SELECT_DATE": "Select Date",
+		"SELECT_TYPE": "Select Type",
+		"SELECT_CAMPAIGN": "Select Campaign",
+		"SCHEDULED_CALLS": "Scheduled Calls",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"CUTDIGIT": "Cut Digits",
+		"RANDOMLASTDIGITCALLERIDNUMBER": "Random Outgoing CallerId Number",
+		"CLONE_IVRCAMPAIGN": "Clone Campaign",
+		"CLONE_QUEUECAMPAIGN": "Clone Queue Campaign",
+		"ABANDONEDCALLS": "Abandoned Queue Calls",
+		"HOPPERWIDGET": "Summary",
+		"RESETLIST_IVRCAMPAIGN": "Reset Lists",
+		"RESETLIST_QUEUECAMPAIGN": "Reset Lists",
+		"RESET": "Reset",
+		"RESETLIST": "Reset Lists",
+		"SELECTALL": "Select All",
+		"UNSELECTALL": "Un-Select All",
+		"NO_AVAILABLE_INFO": "No available info",
+		"TIMEOUT": "Timeout",
+		"CALLYSQUAREPROJECTPREVIEW": "Cally Square Project Preview",
+		"CALLYSQUAREPROJECTPREVIEW2": "Cally Square Project After Preview",
+		"RUNIFHANGUPAGENT": "Run Cally Square Project After even if the agent hangs up the call",
+		"CALLYSQUAREPROJECT2": "Cally Square Project After Queue",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"PARTIALPAUSE": "Parital Pause",
+		"ALL": "All",
+		"IDLE": "Idle",
+		"TIMER": "Timer",
+		"MOVE_HOPPERFINAL": "Restore contact",
+		"RESTORECONTACTS": "Restore Contacts",
+		"NO_SUCH_NUMBER": "No Such Number",
+		"ANSWERING_MACHINE": "Answering machine",
+		"DIALORDERBYSCHEDULEDAT": "Order By scheduledat",
+		"ASC": "ASC",
+		"DESC": "DESC",
+		"RECALLAGENT": "Recall Agent",
+		"DIALRECALLINQUEUE": "Recall In Queue",
+		"DIALRECALLMETIMEOUT": "Recall Me Timeout [min]",
+		"RECALLME": "Recall Me",
+		"RECALLFAILEDTIMEOUT": "Recall Failed",
+		"PREVIEW_CAMPAIGN": "Preview Campaigns",
+		"PREVIEW_CAMPAIGNS": "Preview Campaigns",
+		"AMD": "Asterisk Answering Machine Detection (AMD)",
+		"AMDTOTALANALYSISTIME": "Total Analysis Time",
+		"AMDACTIVE": "AMD",
+		"AMDINITIALSILENCE": "Initial Silence",
+		"AMDGREETING": "Greeting",
+		"AMDAFTERGREETINGSILENCE": "Silence after Greeting",
+		"AMDSILENCETHRESHOLD": "Silence Threshold",
+		"AMDMINWORDLENGTH": "Min Word Length",
+		"AMDBETWEENWORDSSILENCE": "Silence Between Words",
+		"AMDMAXIMUMWORDLENGTH": "Maximum Word Length",
+		"AMDMAXIMUMNUMBEROFWORDS": "Maximum Number Of Words",
+		"GOTO_QUEUECAMPAIGN": "Go To Realtime Queue Campaigns",
+		"GOTOREALTIME_QUEUECAMPAIGN": "Go To Realtime Queue Campaigns",
+		"GOTO_IVRCAMPAIGN": "Go To Realtime IVR Campaigns",
+		"GOTOREALTIME_IVRCAMPAIGN": "Go To Realtime IVR Campaigns",
+		"LOGOUT": "Logout",
+		"EDIT_CAMPAIGN": "Edit Campaign",
+		"LIMITED": "Limited",
+		"IVR_CAMPAIGNS": "IVR Campaigns",
+		"MOTIONDIALER": "Motion Bull",
+		"QUEUECAMPAIGNS": "Queue Campaigns",
+		"IVRCAMPAIGNS": "IVR Campaigns",
+		"MANAGED": "Managed",
+		"AVAILABLE_CONTACTS_FINISHED": "Available contacts finished",
+		"HISTORY": "History",
+		"SCHEDULEDAT": "Scheduled At",
+		"HOPPERBLACKS": "Hopper Blacklist",
+		"NO_HOPPERBLACK_AVAILABLE": "No items available",
+		"HOPPERFINALS": "Hopper Final",
+		"NO_HOPPERFINAL_AVAILABLE": "No items available",
+		"HOPPERHISTORIES": "Call history",
+		"NO_HOPPERHISTORY_AVAILABLE": "No items available",
+		"DELETE_HOPPERHISTORY": "Delete",
+		"DELETE_HOPPERFINAL": "Delete",
+		"CONTACTID": "Contact ID",
+		"STARTTIME": "Start Time",
+		"RESPONSETIME": "Response Time",
+		"ENDTIME": "End Time",
+		"STATUS": "Status",
+		"HOPPERS": "Hopper",
+		"NO_HOPPER_AVAILABLE": "No items available",
+		"EDIT_HOPPER": "Edit Hopper",
+		"DELETE_HOPPER": "Delete Hopper",
+		"FINAL": "Final",
+		"BLACKLIST": "Blacklist",
+		"NAME": "Name",
+		"VOICEQUEUES": "Voice Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+		"EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+		"EDIT_VOICEQUEUE": "Edit Voice Queue",
+		"DELETE_VOICEQUEUE": "Delete Voice Queue",
+		"MOHSOUNDS": "Moh Sounds",
+		"STRATEGY": "Strategy",
+		"DESCRIPTION": "Description",
+		"INTERVAL": "Time Interval",
+		"ADD_VOICEQUEUE": "Add Voice Queue",
+		"NEW_QUEUECAMPAIGN": "New Queue Campaign",
+		"ACTIVE": "Active",
+		"METHOD": "Method",
+		"POWERLEVEL": "Power Level",
+		"DROPRATE": "Drop Rate",
+		"AGENTBUSYFACTOR": "Agent Busy Factor",
+		"PREDICTIVEOPTIMIZATION": "Predictive Optimization",
+		"PREDICTIVEOPTIMIZATIONPERCENTAGE": "Predictive Optimization Percentage",
+		"PREDICTIVEINTERVAL": "Predictive Interval",
+		"ADD_QUEUECAMPAIGN": "Add Queue Campaign",
+		"CAMPAIGN": "Campaign",
+		"MAXCONCURRENTCALLS": "Max Concurrent Calls",
+		"CONCURRENTCALLS": "Max Concurrent Calls",
+		"ORIGINATE": "Originate",
+		"ORIGINATECALLERIDNAME": "Caller ID Name",
+		"ORIGINATECALLERIDNUMBER": "Caller ID Number",
+		"ORIGINATETIMEOUT": "Originate Timeout",
+		"QUEUEOPTIONS": "Queue Options",
+		"QUEUETIMEOUT": "Queue Timeout",
+		"CALLYSQUAREPROJECT": "Cally Square Project",
+		"RETRYANDFREQUENCY": "Retry Settings",
+		"GLOBAL": "Global",
+		"GLOBALMAXRETRY": "Max Retries",
+		"CONGESTION": "Congestion",
+		"CONGESTIONMAXRETRY": "Max Retries",
+		"CONGESTIONRETRYTIME": "Retry Time [min]",
+		"BUSYMAXRETRY": "Max Retries",
+		"BUSYRETRYTIME": "Retry Time [min]",
+		"NOANSWER": "No Answer",
+		"NOANSWERMAXRETRY": "Max Retries",
+		"NOANSWERRETRYTIME": "Retry Time [min]",
+		"QUEUE_PARAMS": "Queue Parameters",
+		"ORIGINATED": "Originated",
+		"MESSAGE": "Message",
+		"DROPPED": "Dropped",
+		"CREATED_AT": "Created At",
+		"LEGEND": {
+			"CUSTOM_APPLICATION": "(*) - Custom application."
+		},
+		"ERRORS": {
+			"AGENT_REQUIRED": "Mandatory field",
+			"CUTDIGIT_REQUIRED": "Mandatory field",
+			"CUTDIGIT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CUTDIGIT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"RANDOMLASTDIGITCALLERIDNUMBER_REQUIRED": "Mandatory field",
+			"RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTIMEOUT_REQUIRED": "Mandatory field",
+			"INTERVAL_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"DIALRECALLMETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DIALRECALLMETIMEOUT_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"PREFIX_MUST_VALID_PATTERN": "Wrong format",
+			"NAME_REQUIRED": "Mandatory field",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"PHONENUMBER_REQUIRED": "Mandatory field",
+			"CONTEXT_REQUIRED": "Mandatory field",
+			"DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"MAILBOX_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TIMEZONE_REQUIRED": "Mandatory field",
+			"PREFIX_REQUIRED": "Mandatory field",
+			"OPTIONS_REQUIRED": "Mandatory field",
+			"AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+			"TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"EXTENSION_REQUIRED": "Mandatory field",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"GLOBALMAXRETRY_REQUIRED": "Mandatory field",
+			"CONGESTIONMAXRETRY_REQUIRED": "Mandatory field",
+			"CONGESTIONRETRYTIME_REQUIRED": "Mandatory field",
+			"BUSYMAXRETRY_REQUIRED": "Mandatory field",
+			"BUSYRETRYTIME_REQUIRED": "Mandatory field",
+			"NOANSWERMAXRETRY_REQUIRED": "Mandatory field",
+			"NOANSWERRETRYTIME_REQUIRED": "Mandatory field",
+			"QUEUETIMEOUT_REQUIRED": "Mandatory field",
+			"ORIGINATETIMEOUT_REQUIRED": "Mandatory field",
+			"GLOBALINTERVAL_REQUIRED": "Mandatory field",
+			"MAXCONCURRENTCALLS_REQUIRED": "Mandatory field",
+			"CONCURRENTCALLS_REQUIRED": "Mandatory field",
+			"POWERLEVEL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PREDICTIVEINTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXCONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"ORIGINATETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"GLOBALMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONGESTIONMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONGESTIONRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"BUSYMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"BUSYRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NOANSWERMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NOANSWERRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"POWERLEVEL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"PREDICTIVEINTERVAL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MAXCONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"ORIGINATETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"GLOBALMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONGESTIONMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONGESTIONRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"BUSYMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"BUSYRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NOANSWERMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NOANSWERRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"CONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field",
+			"CALLYSQUAREPROJECT_REQUIRED": "Mandatory field",
+			"TRUNK_REQUIRED": "Mandatory field"
+		},
+		"GENERAL": "General",
+		"AGENTTIMEOUT": "Agent Timeout",
+		"MAXLENGTH": "Maximum Length",
+		"RETRY": "Retry",
+		"WRAPUPTIME": "Wrapup Time",
+		"WEIGHT": "Weight",
+		"JOINWHENEMPTY": "Join when empty",
+		"LEAVEWHENEMPTY": "Leave when empty",
+		"HELP": {
+			"PREDICTIVEMAXTHRESHOLD": "If the percentage of agents available in the time window, compared to the agents available at the time of prediction, exceeds the configured maximum limit, the predictive recalculates the prediction. ",
+			"PREDICTIVEMINTHRESHOLD": "If the percentage of agents available in the time window, compared to the agents available at the time of prediction, exceeds the configured minimum limit, the predictive recalculates the prediction.",
+			"RANDOMLASTDIGITCALLERIDNUMBER": "If greater than 0, it generates randomly the corresponding last digits of the Outgoing Caller Id Number",
+			"TIMEOUT": "Number of seconds to ring agent in queue",
+			"CALLYSQUAREPROJECTPREVIEW": "Selecting an IVR project, the dialer will forward the call to the IVR when an agent answers (the IVR will be directed to the agent)",
+			"CALLYSQUAREPROJECTPREVIEW2": "Selecting an IVR project, the dialer will forward the call to the IVR when an client hangup or unreachable (the IVR will be directed to the agent)",
+			"RUNIFHANGUPAGENT": "Run Cally Square Project After even if the agent hangs up the call",
+			"CALLYSQUAREPROJECT2": "iSelecting an IVR project, the dialer will forward the call to the IVR after the queue (if the queue ends by timeout)",
+			"DIALORDERBYSCHEDULEDAT": "Get contacts from hopper (descending or ascending).",
+			"DIALRECALLINQUEUE": "Reschedule call for agents in the Queue",
+			"DIALRECALLMETIMEOUT": "Time interval (in minutes) for Recall Me period of validity",
+			"PRIORITY": "Priority in the list",
+			"AMDMAXIMUMWORDLENGTH": "Maximum duration allowed of a single Voice utterance",
+			"AMDMINWORDLENGTH": "Minimum duration of a Voice to be considered a word",
+			"AMDSILENCETHRESHOLD": "If the average level of noise in a sample does not reach this value, from a scale of 0 to 32767, then we will consider it as silence",
+			"AMDTOTALANALYSISTIME": "Maximum time allowed for the algorithm to decide on whether the audio represents a HUMAN or a MACHINE",
+			"AMDAFTERGREETINGSILENCE": "Silence after detecting a greeting. If exceeded, then the result is detection as a HUMAN",
+			"AMDGREETING": "Maximum length of a greeting. If exceeded, then the result is detection as a MACHINE",
+			"AMDINITIALSILENCE": "Maximum silence duration before the greeting. If exceeded, then the result is detection as a MACHINE",
+			"AMDACTIVE": "Activate or disactivate answering machines detection attempts",
+			"AMDBETWEENWORDSSILENCE": "Minimum duration of silence after a word to consider the audio that follows as a new word",
+			"AMDMAXIMUMNUMBEROFWORDS": "Maximum number of words in the greeting. If REACHED, then the result is detection as a MACHINE",
+			"CALLYSQUAREPROJECT": "Selecting an IVR project, the dialer will forward the call to the IVR before the queue",
+			"PREFIX": "Telephone prefix",
+			"ACTIVE": "Active",
+			"AGENTTIMEOUT": "How long (in seconds) to ring an agent’s device",
+			"MAXLENGTH": "Maximum number of callers allowed to be waiting in a queue (0=unlimited)",
+			"RETRY": "How long (in seconds) to wait before calling the next agent in the queue when the agent timeout is expired",
+			"WRAPUPTIME": "How long (in seconds) to keep an agent unavailable in a queue after completing a call",
+			"WEIGHT": "Used to determine priority if the agents are associated with more than one queue",
+			"JOINWHENEMPTY": "If a caller is added to the queue, when no agents are available",
+			"LEAVEWHENEMPTY": "If a caller is expelled from the queue when no agents are available",
+			"ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (0=disable)",
+			"MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+			"PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+			"ANNOUNCEPOSITIONLIMIT": "Used if you’ve defined announce-position as either 'limit' or 'more'",
+			"AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+			"MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+			"MUSICONHOLD": "Sets the music class to use for a particular queue",
+			"ANNOUNCETOAGENT": "Plays an announcement to the agent answering the call (e.g. to let him know which queue the caller is coming from)",
+			"RANDOMPERIODICANNOUNCE": "If yes, it plays the periodic announcements in random order",
+			"ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+			"ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+			"REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+			"PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+			"HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+			"YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
+			"THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+			"WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+			"ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+			"MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+			"MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+			"SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+			"THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+			"AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+			"AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled, it causes the agent to be paused in all queues he belongs to",
+			"RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+			"TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+			"MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+			"CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+			"SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs:<a target=\"_blank\"href=\"https://wiki.xcallymotion.com/display/XMV/Queue+Campaigns#QueueCampaigns-Advanced\">click here</a>)",
+			"RECORDING": "Enable call recording",
+			"VOICEMAIL_CONTEXT": "The context of the relative extension",
+			"METHOD": "Outbound dialer method",
+			"POWERLEVEL": "Number of contacts to call for any available agent",
+			"PREDICTIVEOPTIMIZATION": "A factor to optimize in the predictive algorithm",
+			"PREDICTIVEOPTIMIZATIONPERCENTAGE": "Percentage based on the selected predictive optimization factor",
+			"PREDICTIVEINTERVAL": "Time interval (in minutes) considered by the predictive algorithm to calculate the amount of calls to generate to optimize the result",
+			"MAXCONCURRENTCALLS": "Maximum number of concurrent calls that will be originated by the outbound dialer for this campaign (0=unlimited)",
+			"CONCURRENTCALLS": "Maximum number of concurrent calls that will be originated by the outbound dialer for this campaign",
+			"ORIGINATECALLERIDNAME": "Outgoing Caller Id Name",
+			"ORIGINATECALLERIDNUMBER": "Outgoing Caller Id Number",
+			"ORIGINATETIMEOUT": "Time (in seconds) for the outbound call to establish a connection, otherwise the status is set to No Answer ",
+			"QUEUETIMEOUT": "Time (in seconds) a call will wait in the queue before it is dropped (Min 1 and Max 999)",
+			"GLOBALMAXRETRY": "Maximum number of times a contact is called before considering it closed",
+			"CONGESTIONMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for congestion",
+			"CONGESTIONRETRYTIME": "Time in minutes before trying to call again a failed contact due to congestion",
+			"BUSYMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for busy",
+			"BUSYRETRYTIME": "Time in minutes before trying to call again a failed contact due to busy",
+			"NOANSWERMAXRETRY": "Maximum number of times a contact is called before considering it closed, when the call failed for no answer",
+			"NOANSWERRETRYTIME": "Time in minutes before trying to call again a failed contact due to no answer",
+			"GLOBALINTERVAL": "Global time interval during which the dialer is allowed to call contacts. We decline responsibility: pay attention when you modify this field, because you may fail to comply with the national Autodialer Laws and Regulations",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause status to set during mandatory disposition"
+		},
+		"MUSICONHOLD": "Music On Hold",
+		"ANNOUNCETOAGENT": "Announce To Agent",
+		"ANNOUNCEMENTS": "Announcements",
+		"ADVANCEDPREVIEW": "Advanced",
+		"ADVANCED": "Advanced",
+		"ADVANCE": "Advanced",
+		"ANNOUNCEFREQUENCY": "Announce Frequency",
+		"MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+		"PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+		"RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+		"ANNOUNCEHOLDTIME": "Announce Hold Time",
+		"ANNOUNCECALLERPOSITION": "Announce Caller Position",
+		"ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+		"REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+		"PERIODICANNOUNCE": "Periodic Announce",
+		"HOLDTIMEANNOUNCE": "Hold Time Announce",
+		"YOUARENEXTANNOUNCE": "'You are next' Announce",
+		"THEREAREANNOUNCE": "'There are' Announce",
+		"WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+		"ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+		"MINUTESANNOUNCE": "Minutes Announce",
+		"MINUTEANNOUNCE": "Minute Announce",
+		"SECONDSANNOUNCE": "Seconds Announce",
+		"THANKYOUANNOUNCE": "'Thank You' Announce",
+		"AUTOPAUSE": "Auto Pause",
+		"AFTERCALLWORK": "After Call Work",
+		"AFTERCALLWORKDURATION": "After Call Work Duration",
+		"RINGINUSE": "Ring In Use",
+		"MEMBERDELAY": "Member Delay",
+		"TIMEOUTRESTART": "Timeout Restart",
+		"MONITORFORMAT": "Recording Format",
+		"SETINTERFACEVARIABLES": "Set Interface Variables",
+		"SETQUEUEVARIABLES": "Set Queue Variables",
+		"SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+		"CONTEXT": "Context",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"INBOUNDROUTES": "Inbound Routes",
+		"PHONENUMBER": "Phone Number",
+		"ADD_INBOUNDROUTE": "Add Inbound Route",
+		"EDIT_INBOUNDROUTE": "Edit Inbound Route",
+		"DELETE_INBOUNDROUTE": "Delete Inbound Route",
+		"ACTIONS": "Actions",
+		"OUTBOUNDROUTES": "Outbound Routes",
+		"DESTINATIONPATTERN": "Destination Pattern",
+		"ADD_OUTBOUNDROUTE": "Add Outbound Route",
+		"EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+		"DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+		"CUTDIGITS": "Cut Digits",
+		"RECORDING": "Recording",
+		"RECORDINGFORMAT": "Recording format",
+		"INTERNALROUTES": "Internal Routes",
+		"ADD_INTERNALROUTE": "Add Internal Route",
+		"EDIT_INTERNALROUTE": "Edit Internal Route",
+		"DELETE_INTERNALROUTE": "Delete Internal Route",
+		"CONTEXTS": "Contexts",
+		"ADD_CONTEXT": "Add Context",
+		"EDIT_CONTEXT": "Edit Context",
+		"DELETE_CONTEXT": "Delete Context",
+		"VOICEMAILS": "Voicemails",
+		"ADD_VOICEMAIL": "Add Voicemail",
+		"EDIT_VOICEMAIL": "Edit Voicemail",
+		"DELETE_VOICEMAIL": "Delete Voicemail",
+		"FULLNAME": "Full Name",
+		"EMAIL": "Email",
+		"MAILBOX": "Mailbox",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"TIMEZONE": "Timezone",
+		"ATTACH": "Attach",
+		"ENVELOPE": "Envelope",
+		"DELETE": "Delete",
+		"EMAILBODY": "Email Body",
+		"EMAILSUBJECT": "Email Subject",
+		"MAXSECONDS": "Max Seconds",
+		"MAXMESSAGES": "Max Messages",
+		"MESSAGES": "Messages",
+		"SORT": "Sort",
+		"ADD_MUSICONHOLD": "Add Music On Hold",
+		"MUSICONHOLDS": "Music On Hold",
+		"EDIT_MUSICONHOLD": "Edit Music On Hold",
+		"DELETE_MUSICONHOLD": "Delete Music On Hold",
+		"DIRECTORY": "Directory",
+		"AUDIOFILES": "Audio Files",
+		"RECORDINGS": "Recordings",
+		"CHANSPY": "ChanSpy",
+		"PREFIX": "Prefix",
+		"OPTIONS": "Options",
+		"AUTH": "Auth",
+		"ADD_CHANSPY": "Add ChanSpy",
+		"EDIT_CHANSPY": "Edit ChanSpy",
+		"DELETE_CHANSPY": "Delete ChanSpy",
+		"AGENTS": "Agents",
+		"TELEPHONES": "Telephones",
+		"QUEUES": "Queues",
+		"QUEUE_CALLS": "Queue Calls",
+		"QUEUE_PARAMETERS": "Queue Parameters",
+		"ABANDONED_CALLS": "Abandoned Calls",
+		"OUTBOUND_CALLS": "Outbound Calls",
+		"AGI": "AGI",
+		"DIAL": "Dial",
+		"INTERNALDIAL": "Internal Dial",
+		"EXTERNALDIAL": "External Dial",
+		"RINGGROUP": "Ring Group",
+		"PLAYBACK": "Playback",
+		"QUEUE": "Queue",
+		"SET": "Set",
+		"VOICEMAIL": "Voicemail",
+		"GOTO": "GoTo",
+		"HANGUP": "Hangup",
+		"CUSTOM": "Custom",
+		"PROJECT": "Cally-Square Project",
+		"TECHNOLOGY/RESOURCE": "Technology/Resource",
+		"URL": "URL",
+		"EDIT_APP": "Edit Application",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_APP": "Delete Application",
+		"INTERVALS": "Intervals",
+		"USER": "User",
+		"TRUNK": "Trunk",
+		"PHONE": "Phone",
+		"AUDIO_FILES": "Audio Files",
+		"ANNOUNCE_OVERRIDES": "Announce Overrides",
+		"MACRO": "Macro",
+		"GOSUB": "GoSub",
+		"RULE": "Rule",
+		"POSITION": "Position",
+		"ANSWER": "Answer",
+		"VALUE": "Value",
+		"MAILBOX@CONTEXT": "Mailbox@Context",
+		"EXTENSION": "Extension",
+		"PRIORITY": "Priority",
+		"HANGUP_CAUSE": "Hangup Cause",
+		"OUTBOUNDDIAL": "Outbound Dial",
+		"CALLER_ID": "Caller ID",
+		"NO_MESSAGE_AVAILABLE": "No messages available",
+		"NO_SOUND_AVAILABLE": "No sounds available",
+		"VOICERECORDINGS": "Voice Recordings",
+		"CHANSPIES": "ChanSpy",
+		"VOICE": "Voice",
+		"REALTIME": "Realtime",
+		"ID": "Id",
+		"VOICEMAIL_CONTEXT": "Context",
+		"NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+		"FILE": "File",
+		"ADD_MOHSOUND": "Add Music On Hold sound",
+		"DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+		"DELETE_MOHSOUND": "Delete Music On Hold sound",
+		"UNIQUEID": "Unique ID",
+		"AGENT": "Agent",
+		"TYPE": "Type",
+		"RATING": "Rating",
+		"AUDIO": "Audio",
+		"DATE": "Date",
+		"NEW_VOICEQUEUE": "New Voice Queue",
+		"NEW_INBOUNDROUTE": "New Inbound Route",
+		"NEW_OUTBOUNDROUTE": "New Outbound Route",
+		"NEW_INTERNALROUTE": "New Internal Route",
+		"NEW_CONTEXT": "New Context",
+		"NEW_VOICEMAIL": "New Voicemail",
+		"NEW_MUSICONHOLD": "New Music On Hold",
+		"NEW_CHANSPY": "New ChanSpy",
+		"PENALTY": "Penalty",
+		"ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+		"ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+		"EDIT_DIAL": "Edit Dial",
+		"EDIT_AGI": "Edit AGI",
+		"EDIT_INTERNALDIAL": "Edit Internal Dial",
+		"EDIT_EXTERNALDIAL": "Edit External Dial",
+		"EDIT_RINGGROUP": "Edit Ring Group",
+		"EDIT_PLAYBACK": "Edit Playback",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_SET": "Edit Set",
+		"EDIT_GOTO": "Edit GoTo",
+		"EDIT_HANGUP": "Edit Hangup",
+		"EDIT_CUSTOM": "Edit Custom",
+		"DURATION": "Duration",
+		"RECEIVED_AT": "Received At",
+		"YES": "Yes",
+		"NO": "No",
+		"HANGUPCAUSE_1": "1 = Unallocated number",
+		"HANGUPCAUSE_16": "16 = Normal call clearing",
+		"HANGUPCAUSE_17": "17 = User busy",
+		"HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+		"HANGUPCAUSE_21": "21 = Call rejected",
+		"HANGUPCAUSE_22": "22 = Number changed",
+		"HANGUPCAUSE_27": "27 = Destination out of order",
+		"HANGUPCAUSE_38": "38 = Network out of order",
+		"HANGUPCAUSE_41": "41 = Temporary failure",
+		"RANDOM": "Random",
+		"ALPHABETICAL": "Alphabetical",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+		"DELETE_VOICERECORDING": "Delete Voice Recording",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"LAGGED": "Lagged",
+		"REACHABLE": "Reachable",
+		"UNREACHABLE": "Unreachable",
+		"UNKNOWN": "Unknown",
+		"NOT_INUSE": "Not in use",
+		"INUSE": "In Use",
+		"BUSY": "Busy",
+		"INVALID": "Invalid",
+		"UNAVAILABLE": "Unavailable",
+		"RINGING": "Ringing",
+		"ONHOLD": "On Hold",
+		"RING": "Ring",
+		"UP": "Up",
+		"INFO": "Info",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No registry",
+		"LOGGED_IN": "Logged in (SIP connected)",
+		"PAUSED": "Paused",
+		"DISPOSITION": "Disposition",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"DID": "DID",
+		"CALLER": "Caller",
+		"TOTAL": "Total",
+		"ANSWERED": "Answered",
+		"ABANDONED": "Abandoned",
+		"UNMANAGED": "Unmanaged",
+		"REDIRECT_TO_NUMBER": "Redirect to a number",
+		"REDIRECT_TO_AGENT": "Redirect to an agent",
+		"CLOSING": "Closing",
+		"AVG_HOLD_TIME": "Avg Hold Time",
+		"AVG_DURATION": "Avg Duration",
+		"AVG_BILLABLE": "Avg Billable",
+		"SOURCE": "Source",
+		"DESTINATION": "Destination",
+		"REJECTED": "Rejected",
+		"FAILED": "Failed",
+		"CALLED": "Called",
+		"CONNECTED": "Connected",
+		"NO_RATING": "No rating",
+		"EDIT_VOICERECORDING": "Edit Voice Recording",
+		"APPLICATION_NAME": "Application Name",
+		"ARGUMENTS": "Arguments",
+		"EDIT_QUEUECAMPAIGN": "Edit Campaign",
+		"LISTADD_QUEUECAMPAIGN": "Add List",
+		"BLACKLISTADD_QUEUECAMPAIGN": "Add Blacklist",
+		"TEAMADD_QUEUECAMPAIGN": "Add Team",
+		"AGENTADD_QUEUECAMPAIGN": "Add Agent",
+		"DELETE_QUEUECAMPAIGN": "Delete Campaign",
+		"DELETE_IVRCAMPAIGN": "Delete Campaign",
+		"EDIT_IVRCAMPAIGN": "Edit Campaign",
+		"NEW_IVRCAMPAIGN": "New IVR Campaign",
+		"ADD_IVRCAMPAIGN": "Add IVR Campaign",
+		"LISTADD_IVRCAMPAIGN": "Add List",
+		"BLACKLISTADD_IVRCAMPAIGN": "Add Blacklist",
+		"ENABLED": "Enabled",
+		"READY": "Ready",
+		"PAUSE": "Pause",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default Pause",
+		"AGENTADD_QUEUE": "Add Agent to queue campaign",
+		"AGENTSADD_QUEUE": "Add Agents to queue campaign",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"ALL_LISTS": "All Lists",
+		"SELECTED_LISTS": "Selected Lists",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"WAITING_FOR_AGENT": "Waiting for Agent",
+		"TOTAL_OFFERED": "Total Offered",
+		"RUNNING": "Running",
+		"TRUNK_IS_NOT_REACHABLE": "Trunk is Not Reachable",
+		"AGENTS_NOT_LOGGED": "Agent not logged",
+		"NOT_ACTIVE": "Not Active",
+		"IS_DISACTIVED": "Deactivated",
+		"BACKUPTRUNK": "Backup Trunk",
+		"GLOBALINTERVAL": "Global Interval",
+		"RESCHEDULED_CONTACTS": "Rescheduled contacts",
+		"INTERVAL_IS_OVERTIME": "Out of Interval",
+		"GLOBAL_INTERVAL_IS_OVERTIME": "Out of Interval (Global)",
+		"INTERVAL_IS_NULL": "Interval is Null",
+		"TIMEZONE_UNKNOW": "Timezone Unknow",
+		"INTERVAL_IS_EMPTY": "Interval is Empty",
+		"TOTAL_MANAGED": "Total Managed",
+		"OPEN": "Open",
+		"FRESH": "Fresh",
+		"CLOSED": "Closed",
+		"ALWAYS": "Always",
+		"NEVER": "Never",
+		"ONLY_IF_OPEN": "Only If Open",
+		"CHECKDUPLICATE": "Check Duplicate",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"MANDATORYDISPOSITION": "Mandatory disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Mandatory disposition pause status",
+		"TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
+		"TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/openchannel/i18n/cs.json b/public/app/main/apps/openchannel/i18n/cs.json
new file mode 100644
index 0000000..d475404
--- /dev/null
+++ b/public/app/main/apps/openchannel/i18n/cs.json
@@ -0,0 +1,261 @@
+{
+	"OPENCHANNEL": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"ADVANCED": "Advanced",
+		"PROXY": "Proxy",
+		"TOKEN": "Token",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"DELETE": "Delete",
+		"CANNEDANSWERS": "Canned Answers",
+		"OPENCHANNELCANNEDANSWERS": "Canned Answers",
+		"NO_OPENCHANNELCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_OPENCHANNELCANNEDANSWER": "New Canned Answer",
+		"ADD_OPENCHANNELCANNEDANSWER": "Add Canned Answer",
+		"EDIT_OPENCHANNELCANNEDANSWER": "Edit",
+		"DELETE_OPENCHANNELCANNEDANSWER": "Delete",
+		"DELIVERYREPORTURL": "Delivery Report URL",
+		"TAGS": "Tags",
+		"SPYINTERACTION": "Spy",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_OPENCHANNELQUEUE": "Go To Realtime Open Channel Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"REALTIME": "Realtime",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"NAME": "Name",
+		"OPENCHANNELQUEUES": "Open Channel Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"KEY_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"TEXT_REQUIRED": "The field text is required",
+			"NAME_REQUIRED": "Mandatory field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"REPLYURI_REQUIRED": "Mandatory field",
+			"REPLYURI_MUST_VALID_URL": "Wrong format",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"CONDITION_REQUIRED": "Mandatory field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Mandatory field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DISPOSITION_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+			"ACCESSKEYID_REQUIRED": "Je vyžadováno ID přístupového klíče",
+			"BOTNAME_REQUIRED": "Název bota je povinný",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
+			"SECRETACCESSKEY_REQUIRED": "Je vyžadováno tajemství přístupu"
+		},
+		"STRATEGY": "Strategy",
+		"AGENT": "Agent",
+		"GOTO": "Goto",
+		"GOTOIF": "Gotoif",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_QUEUE": "Edit Queue",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"PRIORITY": "Priority",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_OPENCHANNELQUEUE": "Add Open Channel Queue",
+		"EDIT_OPENCHANNELQUEUE": "Edit Open Channel Queue",
+		"DELETE_OPENCHANNELQUEUE": "Delete Open Channel Queue",
+		"PENALTY": "Penalty",
+		"TEAMADD_OPENCHANNELQUEUE": "Add Team To Open Channel Queue",
+		"AGENTADD_OPENCHANNELQUEUE": "Add Agent To Open Channel Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"OPENCHANNELACCOUNTS": "Open Channel Accounts",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_OPENCHANNELACCOUNT": "Add Open Channel Account",
+		"EDIT_OPENCHANNELACCOUNT": "Edit Open Channel Account",
+		"DELETE_OPENCHANNELACCOUNT": "Delete Open Channel Account",
+		"API": "API",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"OPENCHANNEL": "Open Channel",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"OPENCHANNELDISPOSITIONS": "Open Channel Dispositions",
+		"NO_OPENCHANNELDISPOSITION_AVAILABLE": "No Open Channel Dispositions available",
+		"NEW_OPENCHANNELDISPOSITION": "New Open Channel Disposition",
+		"ADD_OPENCHANNELDISPOSITION": "Add Open Channel Disposition",
+		"EDIT_OPENCHANNELDISPOSITION": "Edit Open Channel Disposition",
+		"DELETE_OPENCHANNELDISPOSITION": "Delete Open Channel Disposition",
+		"NEW_OPENCHANNELQUEUE": "New Open channel Queue",
+		"NEW_OPENCHANNELACCOUNT": "New Open channel Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"REPLYURI": "Reply URL",
+		"RECEIVEURI": "Receive URL",
+		"HELP": {
+			"TOKEN": "Add this property as query string in your Web Service URL. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
+			"RECEIVEURI": "Auto-generated API string to be used in order to receive messages inside your open channel from the external application (using POST method). Click the clipboard button to copy it ",
+			"REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager List used to associate contacts",
+			"MANDATORYDISPOSITION": "Povinná dispozice",
+			"MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej",
+			"WELCOMEMESSAGE": "Toto je první odezva na nové interakce."
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"CLOSED": "Closed",
+		"OPENED": "Open",
+		"OPEN": "Open",
+		"ACCOUNT": "Account",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"ALL": "All",
+		"SELECT_STATUS": "Select a status",
+		"FILTER": "Filter",
+		"FILTERS": "Filters",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"SELECT_ACCOUNT": "Select an account",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_CLOSE": "Edit Close",
+		"INFO": "Info",
+		"KEY": "Key",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to Open Channel queue",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"FAX": "Fax",
+		"AGENTSADD_QUEUE": "Add agents to Open Channel queue",
+		"INTERACTIONS_OPENCHANNELACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_OPENCHANNELACCOUNT": "Add Agent to Openchannel Account",
+		"CANNED_ANSWER_SEARCH": "Enter a text to seach a Canned Answer",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answer were found",
+		"SEND": "Send",
+		"TO": "To",
+		"MAPKEY": "Map Key",
+		"ACCESSKEYID": "ID přístupového klíče",
+		"AMAZONLEX": "AmazonLex",
+		"BOTNAME": "Název bota",
+		"DIALOGFLOW": "Dialogflow",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Stahujte bez příloh",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Stáhnout s přílohami",
+		"EDIT_AMAZONLEX": "Upravit konfiguraci Lex",
+		"EDIT_DIALOGFLOW": "Upravit konfiguraci dialogového toku",
+		"LANGUAGE": "Jazyk",
+		"LASTMESSAGE": "Poslední zpráva",
+		"LEXREGION": "Kraj",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej",
+		"SECRETACCESSKEY": "Přístup k tajným klíčům",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+		"TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
+		"WELCOMEMESSAGE": "Uvítací zpráva"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/openchannel/i18n/et.json b/public/app/main/apps/openchannel/i18n/et.json
new file mode 100644
index 0000000..cffcb5e
--- /dev/null
+++ b/public/app/main/apps/openchannel/i18n/et.json
@@ -0,0 +1,261 @@
+{
+	"OPENCHANNEL": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"ADVANCED": "Advanced",
+		"PROXY": "Proxy",
+		"TOKEN": "Token",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"DELETE": "Delete",
+		"CANNEDANSWERS": "Canned Answers",
+		"OPENCHANNELCANNEDANSWERS": "Canned Answers",
+		"NO_OPENCHANNELCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_OPENCHANNELCANNEDANSWER": "New Canned Answer",
+		"ADD_OPENCHANNELCANNEDANSWER": "Add Canned Answer",
+		"EDIT_OPENCHANNELCANNEDANSWER": "Edit",
+		"DELETE_OPENCHANNELCANNEDANSWER": "Delete",
+		"DELIVERYREPORTURL": "Delivery Report URL",
+		"TAGS": "Tags",
+		"SPYINTERACTION": "Spy",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_OPENCHANNELQUEUE": "Go To Realtime Open Channel Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"REALTIME": "Realtime",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"NAME": "Name",
+		"OPENCHANNELQUEUES": "Open Channel Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"KEY_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"TEXT_REQUIRED": "The field text is required",
+			"NAME_REQUIRED": "Mandatory field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"REPLYURI_REQUIRED": "Mandatory field",
+			"REPLYURI_MUST_VALID_URL": "Wrong format",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"CONDITION_REQUIRED": "Mandatory field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Mandatory field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DISPOSITION_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+			"ACCESSKEYID_REQUIRED": "Juurdepääsukoodi ID on vajalik",
+			"BOTNAME_REQUIRED": "Boti nimi on kohustuslik",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
+			"SECRETACCESSKEY_REQUIRED": "Juurdepääsu võtme saladus on vajalik"
+		},
+		"STRATEGY": "Strategy",
+		"AGENT": "Agent",
+		"GOTO": "Goto",
+		"GOTOIF": "Gotoif",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_QUEUE": "Edit Queue",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"PRIORITY": "Priority",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_OPENCHANNELQUEUE": "Add Open Channel Queue",
+		"EDIT_OPENCHANNELQUEUE": "Edit Open Channel Queue",
+		"DELETE_OPENCHANNELQUEUE": "Delete Open Channel Queue",
+		"PENALTY": "Penalty",
+		"TEAMADD_OPENCHANNELQUEUE": "Add Team To Open Channel Queue",
+		"AGENTADD_OPENCHANNELQUEUE": "Add Agent To Open Channel Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"OPENCHANNELACCOUNTS": "Open Channel Accounts",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_OPENCHANNELACCOUNT": "Add Open Channel Account",
+		"EDIT_OPENCHANNELACCOUNT": "Edit Open Channel Account",
+		"DELETE_OPENCHANNELACCOUNT": "Delete Open Channel Account",
+		"API": "API",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"OPENCHANNEL": "Open Channel",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"OPENCHANNELDISPOSITIONS": "Open Channel Dispositions",
+		"NO_OPENCHANNELDISPOSITION_AVAILABLE": "No Open Channel Dispositions available",
+		"NEW_OPENCHANNELDISPOSITION": "New Open Channel Disposition",
+		"ADD_OPENCHANNELDISPOSITION": "Add Open Channel Disposition",
+		"EDIT_OPENCHANNELDISPOSITION": "Edit Open Channel Disposition",
+		"DELETE_OPENCHANNELDISPOSITION": "Delete Open Channel Disposition",
+		"NEW_OPENCHANNELQUEUE": "New Open channel Queue",
+		"NEW_OPENCHANNELACCOUNT": "New Open channel Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"REPLYURI": "Reply URL",
+		"RECEIVEURI": "Receive URL",
+		"HELP": {
+			"TOKEN": "Add this property as query string in your Web Service URL. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
+			"RECEIVEURI": "Auto-generated API string to be used in order to receive messages inside your open channel from the external application (using POST method). Click the clipboard button to copy it ",
+			"REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager List used to associate contacts",
+			"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+			"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+			"WELCOMEMESSAGE": "See on esimene vastussõnum, mis saadetakse uutele interaktsioonidele."
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"STATUS": "Status",
+		"CLOSED": "Closed",
+		"OPENED": "Open",
+		"OPEN": "Open",
+		"ACCOUNT": "Account",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"ALL": "All",
+		"SELECT_STATUS": "Select a status",
+		"FILTER": "Filter",
+		"FILTERS": "Filters",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"SELECT_ACCOUNT": "Select an account",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_CLOSE": "Edit Close",
+		"INFO": "Info",
+		"KEY": "Key",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to Open Channel queue",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"FAX": "Fax",
+		"AGENTSADD_QUEUE": "Add agents to Open Channel queue",
+		"INTERACTIONS_OPENCHANNELACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_OPENCHANNELACCOUNT": "Add Agent to Openchannel Account",
+		"CANNED_ANSWER_SEARCH": "Enter a text to seach a Canned Answer",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answer were found",
+		"SEND": "Send",
+		"TO": "To",
+		"MAPKEY": "Map Key",
+		"ACCESSKEYID": "Juurdepääsukoodi ID",
+		"AMAZONLEX": "AmazonLex",
+		"BOTNAME": "Boti nimi",
+		"DIALOGFLOW": "Dialoogivoog",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Laadige alla ilma manusteta",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Laadige alla koos manustega",
+		"EDIT_AMAZONLEX": "Redigeeri Lexi konfiguratsiooni",
+		"EDIT_DIALOGFLOW": "Redigeeri Dialogflow konfiguratsiooni",
+		"LANGUAGE": "Keel",
+		"LASTMESSAGE": "Viimane teade",
+		"LEXREGION": "Piirkond",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+		"SECRETACCESSKEY": "Juurdepääsu võtme saladus",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
+		"WELCOMEMESSAGE": "Tervitussõnum"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/openchannel/i18n/lt.json b/public/app/main/apps/openchannel/i18n/lt.json
new file mode 100644
index 0000000..94a0530
--- /dev/null
+++ b/public/app/main/apps/openchannel/i18n/lt.json
@@ -0,0 +1,261 @@
+{
+	"OPENCHANNEL": {
+		"AMAZONLEX": "AmazonLex",
+		"EDIT_AMAZONLEX": "Edit Lex configuration",
+		"ACCESSKEYID": "Access key ID",
+		"SECRETACCESSKEY": "Access key secret",
+		"LEXREGION": "Region",
+		"BOTNAME": "Bot name",
+		"WELCOMEMESSAGE": "Welcome message",
+		"DIALOGFLOW": "Dialogflow",
+		"EDIT_DIALOGFLOW": "Edit Dialogflow configuration",
+		"LANGUAGE": "Language",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"ADVANCED": "Advanced",
+		"PROXY": "Proxy",
+		"TOKEN": "Token",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"DELETE": "Delete",
+		"CANNEDANSWERS": "Canned Answers",
+		"OPENCHANNELCANNEDANSWERS": "Canned Answers",
+		"NO_OPENCHANNELCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_OPENCHANNELCANNEDANSWER": "New Canned Answer",
+		"ADD_OPENCHANNELCANNEDANSWER": "Add Canned Answer",
+		"EDIT_OPENCHANNELCANNEDANSWER": "Edit",
+		"DELETE_OPENCHANNELCANNEDANSWER": "Delete",
+		"DELIVERYREPORTURL": "Delivery Report URL",
+		"TAGS": "Tags",
+		"SPYINTERACTION": "Spy",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_OPENCHANNELQUEUE": "Go To Realtime Open Channel Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"REALTIME": "Realtime",
+		"TEXT": "Text",
+		"TIMES": "Number of times per interaction",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"AUTOREPLY": "Auto Reply",
+		"NAME": "Name",
+		"OPENCHANNELQUEUES": "Open Channel Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"MANDATORYDISPOSITION": "Mandatory disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Access key ID is required",
+			"SECRETACCESSKEY_REQUIRED": "Access key secret is required",
+			"BOTNAME_REQUIRED": "Bot name is required",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"KEY_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"TEXT_REQUIRED": "The field text is required",
+			"NAME_REQUIRED": "Mandatory field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"REPLYURI_REQUIRED": "Mandatory field",
+			"REPLYURI_MUST_VALID_URL": "Wrong format",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"CONDITION_REQUIRED": "Mandatory field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Mandatory field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"DISPOSITION_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field"
+		},
+		"STRATEGY": "Strategy",
+		"AGENT": "Agent",
+		"GOTO": "Goto",
+		"GOTOIF": "Gotoif",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_QUEUE": "Edit Queue",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"VALUE": "Value",
+		"PRIORITY": "Priority",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_OPENCHANNELQUEUE": "Add Open Channel Queue",
+		"EDIT_OPENCHANNELQUEUE": "Edit Open Channel Queue",
+		"DELETE_OPENCHANNELQUEUE": "Delete Open Channel Queue",
+		"PENALTY": "Penalty",
+		"TEAMADD_OPENCHANNELQUEUE": "Add Team To Open Channel Queue",
+		"AGENTADD_OPENCHANNELQUEUE": "Add Agent To Open Channel Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"OPENCHANNELACCOUNTS": "Open Channel Accounts",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_OPENCHANNELACCOUNT": "Add Open Channel Account",
+		"EDIT_OPENCHANNELACCOUNT": "Edit Open Channel Account",
+		"DELETE_OPENCHANNELACCOUNT": "Delete Open Channel Account",
+		"API": "API",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"OPENCHANNEL": "Open Channel",
+		"ID": "Id",
+		"TIMEOUT": "Timeout",
+		"OPENCHANNELDISPOSITIONS": "Open Channel Dispositions",
+		"NO_OPENCHANNELDISPOSITION_AVAILABLE": "No Open Channel Dispositions available",
+		"NEW_OPENCHANNELDISPOSITION": "New Open Channel Disposition",
+		"ADD_OPENCHANNELDISPOSITION": "Add Open Channel Disposition",
+		"EDIT_OPENCHANNELDISPOSITION": "Edit Open Channel Disposition",
+		"DELETE_OPENCHANNELDISPOSITION": "Delete Open Channel Disposition",
+		"NEW_OPENCHANNELQUEUE": "New Open channel Queue",
+		"NEW_OPENCHANNELACCOUNT": "New Open channel Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"REPLYURI": "Reply URL",
+		"RECEIVEURI": "Receive URL",
+		"HELP": {
+			"WELCOMEMESSAGE": "This is the first response message sent to new interactions.",
+			"TOKEN": "Add this property as query string in your Web Service URL. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
+			"RECEIVEURI": "Auto-generated API string to be used in order to receive messages inside your open channel from the external application (using POST method). Click the clipboard button to copy it ",
+			"REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager List used to associate contacts",
+			"MANDATORYDISPOSITION": "Mandatory disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"LASTMESSAGE": "Last message",
+		"STATUS": "Status",
+		"CLOSED": "Closed",
+		"OPENED": "Open",
+		"OPEN": "Open",
+		"ACCOUNT": "Account",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"ALL": "All",
+		"SELECT_STATUS": "Select a status",
+		"FILTER": "Filter",
+		"FILTERS": "Filters",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"NOTES": "Notes",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"SELECT_ACCOUNT": "Select an account",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_CLOSE": "Edit Close",
+		"INFO": "Info",
+		"KEY": "Key",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to Open Channel queue",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"FAX": "Fax",
+		"AGENTSADD_QUEUE": "Add agents to Open Channel queue",
+		"INTERACTIONS_OPENCHANNELACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_OPENCHANNELACCOUNT": "Add Agent to Openchannel Account",
+		"CANNED_ANSWER_SEARCH": "Enter a text to seach a Canned Answer",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answer were found",
+		"SEND": "Send",
+		"TO": "To",
+		"MAPKEY": "Map Key",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
+		"TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/plugins/i18n/cs.json b/public/app/main/apps/plugins/i18n/cs.json
new file mode 100644
index 0000000..69acb1d
--- /dev/null
+++ b/public/app/main/apps/plugins/i18n/cs.json
@@ -0,0 +1,7 @@
+{
+	"PLUGINS": {
+		"PLUGINS": "Plugins",
+		"ERRORS": {},
+		"HELP": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/plugins/i18n/et.json b/public/app/main/apps/plugins/i18n/et.json
new file mode 100644
index 0000000..69acb1d
--- /dev/null
+++ b/public/app/main/apps/plugins/i18n/et.json
@@ -0,0 +1,7 @@
+{
+	"PLUGINS": {
+		"PLUGINS": "Plugins",
+		"ERRORS": {},
+		"HELP": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/plugins/i18n/lt.json b/public/app/main/apps/plugins/i18n/lt.json
new file mode 100644
index 0000000..69acb1d
--- /dev/null
+++ b/public/app/main/apps/plugins/i18n/lt.json
@@ -0,0 +1,7 @@
+{
+	"PLUGINS": {
+		"PLUGINS": "Plugins",
+		"ERRORS": {},
+		"HELP": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/settings/i18n/cs.json b/public/app/main/apps/settings/i18n/cs.json
new file mode 100644
index 0000000..a2d4d61
--- /dev/null
+++ b/public/app/main/apps/settings/i18n/cs.json
@@ -0,0 +1,249 @@
+{
+	"SETTINGS": {
+		"MOTIONBARREMEMBERME": "Remember Me",
+		"CHATTIMEOUT": "Chat closing interaction timeout",
+		"VIRTUAL": "Chat",
+		"VOICE": "Voice",
+		"SESSIONS": "Sessions",
+		"ADDONS": "Add-ons",
+		"REPORT": "Report",
+		"SPLIT": "Split report",
+		"SPLITSIZECSV": "Split report size [CSV records]",
+		"SPLITSIZEPDF": "Split report size [PDF records]",
+		"SPLITSIZEXLSX": "Split report size [XLSX records]",
+		"ENABLEEMAILPREVIEW": "Enable Email Preview",
+		"JAWS": "Jaws",
+		"MOTIONBAR": "Motionbar",
+		"MOTIONBARAUTOUPDATER": "Auto Updater",
+		"MOTIONBARAUTOUPDATERURL": "Auto Updater URL",
+		"SMTP_SSL": "SMTP SSL",
+		"CALL_RECORDING_ENCRYPTION": "Voice Recording Encryption",
+		"TURNADDR": "TURN Address",
+		"TURN_USERNAME": "TURN Username",
+		"TURN_PASSWORD": "TURN Password",
+		"WEBRTC": "WebRTC",
+		"CALLYSQUARE": "Cally Square",
+		"ENABLED": "Enabled",
+		"DISABLED": "Disabled",
+		"UNLIMITED_CHANNELS": "Unlimited Channels",
+		"RELOAD": "Reload",
+		"VERIFY": "Verify",
+		"INTERFACE": "Interface",
+		"UPDATING": "Updating",
+		"REMOTE_VERSION": "Remote Version",
+		"NO_NEW_VERSION_AVAILABLE": "No new version available",
+		"TOP_N_PROCESSES": "Top {{value}} processes",
+		"SYSTEM": "System",
+		"FILE_SYSTEM": "File System",
+		"PROCESSES": "Processes",
+		"MOUNT_POINT": "Mount",
+		"AVG_LOAD": "AVG Load",
+		"TOTAL": "Total",
+		"USED": "Used",
+		"FREE": "Free",
+		"NAME": "Name",
+		"STATE": "State",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"MESSAGING": "Sms",
+		"FAX": "Fax",
+		"OPENCHANNEL": "Open Channel",
+		"AGENTS": "Agents",
+		"USERS": "Users",
+		"TELEPHONES": "Telephones",
+		"STAFF": "Staff",
+		"CHANNELS": "Channels",
+		"MODULES": "Modules",
+		"CM": "Contacts Manager",
+		"DIALER": "Dialer",
+		"JSCRIPTY": "Jscripty",
+		"CUSTOM": "Customization",
+		"UPDATE": "Update",
+		"OTHERS": "Others",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"SMTP": "SMTP",
+		"NETWORKS": "Networks",
+		"UPDATES": "Updates",
+		"LICENSE": "License",
+		"ID": "Id",
+		"MIN_INTERNAL": "Min Internal",
+		"MIN_MAILBOX": "Min Mailbox",
+		"INSTALLED_AT": "Installed At",
+		"SEARCH_FOR_ANYONE": "Search",
+		"EDIT_GENERAL": "Edit General",
+		"SECURE_PASSWORD": "Secure Password",
+		"LOGO": "Logo",
+		"DEFAULT_LOGO": "Default Logo",
+		"DEFAULT_LOGIN_LOGO": "Default Login Logo",
+		"WHITELABEL": "White Label",
+		"DEFAULT_HEADER_WHITELABEL": "Default Header White Label",
+		"HEADER_WHITELABEL": "Header White Label",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SMTP_SERVICE": "Service",
+		"SMTP_HOST": "Host",
+		"SMTP_USERNAME": "Username",
+		"DESCRIPTION": "Description",
+		"SMTP_PASSWORD": "Password",
+		"SMTP_PORT": "Port",
+		"SMTP_SECURE": "Secure",
+		"TYPE": "Type",
+		"ADDRESS": "Address",
+		"NEW_NETWORK": "New Network",
+		"ADD_NETWORK": "Add Network",
+		"HELP": {
+			"ADDRESS": "External (public) ip address",
+			"LOCALNETADDRESS": "Local ip address/subnet",
+			"SMTP_SECURE": "If true, the connection to the server will use TLS",
+			"SMTP_USERNAME": "Username used for authentication",
+			"SMTP_PASSWORD": "Password used for authentication",
+			"EMAILADDRESS": "The message origin Email address (from)",
+			"SECURITY_SUITE": "Enables the secure password format, the mandatory password reset after the first login and the password expiration after 90 days",
+			"MOTIONBARREMEMBERME": "Enable/Disable the Remember Me feature in Motion Phonebar",
+			"DEFAULTSCREENRECORDINGPATH": "Zadejte cestu, kam se ukládají soubory se záznamem obrazovky v počítači agenta (výchozí cesta k video složce je prázdná)",
+			"LOGINMAILFREQUENCY": "Nezapomeňte restartovat službu EMAIL při každé změně tohoto parametru",
+			"RTLSUPPORT": "Povoluje podporu RTL pro arabský, perský a hebrejský jazyk",
+			"PASSWORD": "Heslo",
+			"USERNAME": "Uživatelské jméno"
+		},
+		"ERRORS": {
+			"CHATTIMEOUT_REQUIRED": "Mandatory field",
+			"CHATTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MOTIONBARAUTOUPDATERURL_MUST_VALID_URL": "Wrong format",
+			"MOTIONBARAUTOUPDATERURL_REQUIRED": "Mandatory field",
+			"ADDRESS_REQUIRED": "Mandatory field",
+			"MIN_INTERNAL_REQUIRED": "Mandatory field",
+			"MIN_MAILBOX_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HEADER_WHITELABEL_REQUIRED": "Mandatory field",
+			"LOCALNETADDRESS_REQUIRED": "Mandatory field",
+			"LOCALNETADDRESS_MUST_VALID_PATTERN": "Wrong format",
+			"ADDRESS_MUST_VALID_PATTERN": "Wrong format",
+			"ACCOUNTNAME_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"SMTP_USERNAME_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"SMTP_HOST_REQUIRED": "Mandatory field",
+			"SMTP_PORT_REQUIRED": "Mandatory field",
+			"MIN_INTERNAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MIN_MAILBOX_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PAGE_TITLE_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"PLAN_REQUIRED": "Mandatory field",
+			"LICENSE_REQUIRED": "Mandatory field",
+			"ACCESSKEY_REQUIRED": "Povinné pole",
+			"ALLOWEDLOGINATTEMPTS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"ALLOWEDLOGINATTEMPTS_REQUIRED": "Povinné pole",
+			"BLOCKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"BLOCKDURATION_REQUIRED": "Povinné pole",
+			"BUCKET_REQUIRED": "Povinné pole",
+			"LANGUAGE_REQUIRED": "Povinné pole",
+			"LOGINMAILFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"LOGINMAILFREQUENCY_REQUIRED": "Povinné pole",
+			"SECRETACCESSKEY_REQUIRED": "Povinné pole",
+			"SENTIMENTACCOUNT_REQUIRED": "Povinné pole",
+			"SENTIMENTREGION_REQUIRED": "Povinné pole",
+			"SERVICE_REQUIRED": "Povinné pole",
+			"TRANSCRIBEACCOUNT_REQUIRED": "Povinné pole",
+			"TRANSCRIBEREGION_REQUIRED": "Povinné pole",
+			"USERNAME_REQUIRED": "Povinné pole"
+		},
+		"EDIT_NETWORK": "Edit Network",
+		"DELETE_NETWORK": "Delete Network",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"EXPIRATION_DATE": "Expiration Date",
+		"REQUEST_LICENSE": "Request License",
+		"EMAIL": "Email",
+		"SEND": "Send",
+		"PLAN": "Plan",
+		"MONTH_TO_MONTH": "Month to month",
+		"MOTION_PROCESS_MANAGEMENT": "Motion Process Management",
+		"USEFUL_COMMANDS": "Useful Commands",
+		"COMMAND": "Command",
+		"PM2_LIST": "List all processes",
+		"PM2_START": "Start a process by id or name",
+		"PM2_STOP": "Stop a process by id or name or insert 'all' to stop all the active processes",
+		"PM2_RESTART": "Restart a process by id or name",
+		"PM2_LOGS": "Stream all processes log files, unless a specific process id or name is provided",
+		"PASSWORD": "Password",
+		"NO_AVAILABLE_INFO": "No available info",
+		"STUNADDR": "STUN Address",
+		"CHANGELOG": "Changelog",
+		"CURRENT_VERSION": "Current version",
+		"CUSTOMIZATIONS": "Customizations",
+		"LOCALNETADDRESS": "Localnet Address",
+		"NEW_VERSION": "New Version",
+		"TRIAL_VERSION": "Trial Version",
+		"TOKEN": "Token",
+		"NEW_TOKEN_DETECTED": "New Token Detected",
+		"EXPIRATION_GRAY_PERIOD": "Gray Period Expiration",
+		"NEW_TOKEN": "New Token",
+		"PRICES": "Prices",
+		"UPDATE_LICENSE": "Update License",
+		"LOGOLOGIN": "Login Logo",
+		"EXPIRATION_REASON": "Expiration Reason",
+		"GLOBAL": "Global",
+		"SMTP_AUTHENTICATION": "Authentication",
+		"LICENSE_REQUEST_SENT": "Thank you! The Licensing Team will check your account asap in order to approve your request: you will receive an email when the changes become effective. Please refer to [email-masked] for further informations.",
+		"ACCOUNTNAME": "Account Name",
+		"EMAILADDRESS": "Email Address",
+		"EXPIRATION_REASON_MESSAGE_DISABLED": "Your license has been disabled.",
+		"EXPIRATION_REASON_MESSAGE_CHANGED": "Your machine unique id has been updated due to a change to your system.",
+		"EXPIRATION_CHANGED_ADVISE": "Contact xCALLY Motion License Team sending both your old and your new uuid.",
+		"OLD_TOKEN": "Old Token",
+		"SEND_EMAIL_TO": "Send Email to",
+		"JIRA_ERROR_MESSAGE": "Error during license request. Please contact our license team at [email-masked] with your request",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"PAGE_TITLE": "Page Title",
+		"DEFAULT_PAGE_TITLE": "Default Page Title",
+		"PERPETUAL": "Perpetual",
+		"SECURITY_SUITE": "Security Suite",
+		"ANNUALLY": "Annually",
+		"AGENTOMNIDESKTOPINTERFACE": "Agent Omni Desktop Interface",
+		"MESSAGESALIGNMENT": "Messages Alignment",
+		"ENTER_LICENSE": "Enter your license",
+		"UPDATE_LICENSE_MANUALLY": "Do you want to update your license manually?",
+		"ACCESSKEY": "ID přístupového klíče",
+		"ADD_CLOUDPROVIDER": "Přidat účet",
+		"AI": "A.I. Nástroje",
+		"AITOOLS": "A.I. Nástroje",
+		"ALLOWEDLOGINATTEMPTS": "Povolené pokusy o přihlášení před zamknutím uživatele / agenta",
+		"APPZONE": "Oblast aplikace",
+		"BLOCKDURATION": "Minuty počkejte před automatickým odemknutím",
+		"BUCKET": "Kbelík",
+		"DEFAULTSCREENRECORDINGPATH": "Cesta záznamu obrazovky",
+		"DEFAULT_FAVICON": "Výchozí Favicon",
+		"DEFAULT_PREFERRED": "Výchozí preferované logo",
+		"DELETE": "Vymazat",
+		"DELETE_CLOUDPROVIDER": "Smazat účet",
+		"EDIT_CLOUDPROVIDER": "Upravit účet",
+		"FAVICON": "Favicon",
+		"GOOGLE_SSO_ENABLED": "Google SSO povoleno",
+		"IMAPGENERALSETTINGS": "IMAP",
+		"LANGUAGE": "Jazyk",
+		"LOGINMAILFREQUENCY": "Frekvence přihlášení (s)",
+		"NEW_CLOUDPROVIDER": "Nový účet",
+		"PREFERRED": "Preferované logo",
+		"RTLSUPPORT": "Podpora RTL",
+		"SCREENRECORDING": "Nahrávání obrazovky",
+		"SECRETACCESSKEY": "Tajný přístupový klíč",
+		"SECURITY": "Bezpečnostní",
+		"SENTIMENTACCOUNT": "Účet analýzy sentimentu",
+		"SENTIMENTANALYSIS": "Analýza sentimentu",
+		"SENTIMENTREGION": "Oblast analýzy sentimentu",
+		"SERVICE": "Servis",
+		"SSO": "SSO",
+		"TRANSCRIBE": "Přepsat",
+		"TRANSCRIBEACCOUNT": "Přepsat účet",
+		"TRANSCRIBEREGION": "Přepsat oblast",
+		"USERNAME": "Uživatelské jméno",
+		"VIDEO": "Video",
+		"WHATSAPP": "WhatsApp Connector"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/settings/i18n/et.json b/public/app/main/apps/settings/i18n/et.json
new file mode 100644
index 0000000..d9215c7
--- /dev/null
+++ b/public/app/main/apps/settings/i18n/et.json
@@ -0,0 +1,249 @@
+{
+	"SETTINGS": {
+		"MOTIONBARREMEMBERME": "Remember Me",
+		"CHATTIMEOUT": "Chat closing interaction timeout",
+		"VIRTUAL": "Chat",
+		"VOICE": "Voice",
+		"SESSIONS": "Sessions",
+		"ADDONS": "Add-ons",
+		"REPORT": "Report",
+		"SPLIT": "Split report",
+		"SPLITSIZECSV": "Split report size [CSV records]",
+		"SPLITSIZEPDF": "Split report size [PDF records]",
+		"SPLITSIZEXLSX": "Split report size [XLSX records]",
+		"ENABLEEMAILPREVIEW": "Enable Email Preview",
+		"JAWS": "Jaws",
+		"MOTIONBAR": "Motionbar",
+		"MOTIONBARAUTOUPDATER": "Auto Updater",
+		"MOTIONBARAUTOUPDATERURL": "Auto Updater URL",
+		"SMTP_SSL": "SMTP SSL",
+		"CALL_RECORDING_ENCRYPTION": "Voice Recording Encryption",
+		"TURNADDR": "TURN Address",
+		"TURN_USERNAME": "TURN Username",
+		"TURN_PASSWORD": "TURN Password",
+		"WEBRTC": "WebRTC",
+		"CALLYSQUARE": "Cally Square",
+		"ENABLED": "Enabled",
+		"DISABLED": "Disabled",
+		"UNLIMITED_CHANNELS": "Unlimited Channels",
+		"RELOAD": "Reload",
+		"VERIFY": "Verify",
+		"INTERFACE": "Interface",
+		"UPDATING": "Updating",
+		"REMOTE_VERSION": "Remote Version",
+		"NO_NEW_VERSION_AVAILABLE": "No new version available",
+		"TOP_N_PROCESSES": "Top {{value}} processes",
+		"SYSTEM": "System",
+		"FILE_SYSTEM": "File System",
+		"PROCESSES": "Processes",
+		"MOUNT_POINT": "Mount",
+		"AVG_LOAD": "AVG Load",
+		"TOTAL": "Total",
+		"USED": "Used",
+		"FREE": "Free",
+		"NAME": "Name",
+		"STATE": "State",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"MESSAGING": "Sms",
+		"FAX": "Fax",
+		"OPENCHANNEL": "Open Channel",
+		"AGENTS": "Agents",
+		"USERS": "Users",
+		"TELEPHONES": "Telephones",
+		"STAFF": "Staff",
+		"CHANNELS": "Channels",
+		"MODULES": "Modules",
+		"CM": "Contacts Manager",
+		"DIALER": "Dialer",
+		"JSCRIPTY": "Jscripty",
+		"CUSTOM": "Customization",
+		"UPDATE": "Update",
+		"OTHERS": "Others",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"SMTP": "SMTP",
+		"NETWORKS": "Networks",
+		"UPDATES": "Updates",
+		"LICENSE": "License",
+		"ID": "Id",
+		"MIN_INTERNAL": "Min Internal",
+		"MIN_MAILBOX": "Min Mailbox",
+		"INSTALLED_AT": "Installed At",
+		"SEARCH_FOR_ANYONE": "Search",
+		"EDIT_GENERAL": "Edit General",
+		"SECURE_PASSWORD": "Secure Password",
+		"LOGO": "Logo",
+		"DEFAULT_LOGO": "Default Logo",
+		"DEFAULT_LOGIN_LOGO": "Default Login Logo",
+		"WHITELABEL": "White Label",
+		"DEFAULT_HEADER_WHITELABEL": "Default Header White Label",
+		"HEADER_WHITELABEL": "Header White Label",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SMTP_SERVICE": "Service",
+		"SMTP_HOST": "Host",
+		"SMTP_USERNAME": "Username",
+		"DESCRIPTION": "Description",
+		"SMTP_PASSWORD": "Password",
+		"SMTP_PORT": "Port",
+		"SMTP_SECURE": "Secure",
+		"TYPE": "Type",
+		"ADDRESS": "Address",
+		"NEW_NETWORK": "New Network",
+		"ADD_NETWORK": "Add Network",
+		"HELP": {
+			"ADDRESS": "External (public) ip address",
+			"LOCALNETADDRESS": "Local ip address/subnet",
+			"SMTP_SECURE": "If true, the connection to the server will use TLS",
+			"SMTP_USERNAME": "Username used for authentication",
+			"SMTP_PASSWORD": "Password used for authentication",
+			"EMAILADDRESS": "The message origin Email address (from)",
+			"SECURITY_SUITE": "Enables the secure password format, the mandatory password reset after the first login and the password expiration after 90 days",
+			"MOTIONBARREMEMBERME": "Enable/Disable the Remember Me feature in Motion Phonebar",
+			"DEFAULTSCREENRECORDINGPATH": "Sisestage Agent-arvutis ekraanisalvestusfailide salvestamise tee (jätke videokausta vaikeseade jaoks tühjaks)",
+			"LOGINMAILFREQUENCY": "Ärge unustage EMAIL-teenust taaskäivitada iga kord, kui seda parameetrit muudetakse",
+			"RTLSUPPORT": "Lubab araabia, pärsia ja heebrea keelte RTL-i toe",
+			"PASSWORD": "Parool",
+			"USERNAME": "Kasutajanimi"
+		},
+		"ERRORS": {
+			"CHATTIMEOUT_REQUIRED": "Mandatory field",
+			"CHATTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MOTIONBARAUTOUPDATERURL_MUST_VALID_URL": "Wrong format",
+			"MOTIONBARAUTOUPDATERURL_REQUIRED": "Mandatory field",
+			"ADDRESS_REQUIRED": "Mandatory field",
+			"MIN_INTERNAL_REQUIRED": "Mandatory field",
+			"MIN_MAILBOX_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HEADER_WHITELABEL_REQUIRED": "Mandatory field",
+			"LOCALNETADDRESS_REQUIRED": "Mandatory field",
+			"LOCALNETADDRESS_MUST_VALID_PATTERN": "Wrong format",
+			"ADDRESS_MUST_VALID_PATTERN": "Wrong format",
+			"ACCOUNTNAME_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"SMTP_USERNAME_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"SMTP_HOST_REQUIRED": "Mandatory field",
+			"SMTP_PORT_REQUIRED": "Mandatory field",
+			"MIN_INTERNAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MIN_MAILBOX_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PAGE_TITLE_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"PLAN_REQUIRED": "Mandatory field",
+			"LICENSE_REQUIRED": "Mandatory field",
+			"ACCESSKEY_REQUIRED": "Kohustuslik väli",
+			"ALLOWEDLOGINATTEMPTS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne",
+			"ALLOWEDLOGINATTEMPTS_REQUIRED": "Kohustuslik väli",
+			"BLOCKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne",
+			"BLOCKDURATION_REQUIRED": "Kohustuslik väli",
+			"BUCKET_REQUIRED": "Kohustuslik väli",
+			"LANGUAGE_REQUIRED": "Kohustuslik väli",
+			"LOGINMAILFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne",
+			"LOGINMAILFREQUENCY_REQUIRED": "Kohustuslik väli",
+			"SECRETACCESSKEY_REQUIRED": "Kohustuslik väli",
+			"SENTIMENTACCOUNT_REQUIRED": "Kohustuslik väli",
+			"SENTIMENTREGION_REQUIRED": "Kohustuslik väli",
+			"SERVICE_REQUIRED": "Kohustuslik väli",
+			"TRANSCRIBEACCOUNT_REQUIRED": "Kohustuslik väli",
+			"TRANSCRIBEREGION_REQUIRED": "Kohustuslik väli",
+			"USERNAME_REQUIRED": "Kohustuslik väli"
+		},
+		"EDIT_NETWORK": "Edit Network",
+		"DELETE_NETWORK": "Delete Network",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"EXPIRATION_DATE": "Expiration Date",
+		"REQUEST_LICENSE": "Request License",
+		"EMAIL": "Email",
+		"SEND": "Send",
+		"PLAN": "Plan",
+		"MONTH_TO_MONTH": "Month to month",
+		"MOTION_PROCESS_MANAGEMENT": "Motion Process Management",
+		"USEFUL_COMMANDS": "Useful Commands",
+		"COMMAND": "Command",
+		"PM2_LIST": "List all processes",
+		"PM2_START": "Start a process by id or name",
+		"PM2_STOP": "Stop a process by id or name or insert 'all' to stop all the active processes",
+		"PM2_RESTART": "Restart a process by id or name",
+		"PM2_LOGS": "Stream all processes log files, unless a specific process id or name is provided",
+		"PASSWORD": "Password",
+		"NO_AVAILABLE_INFO": "No available info",
+		"STUNADDR": "STUN Address",
+		"CHANGELOG": "Changelog",
+		"CURRENT_VERSION": "Current version",
+		"CUSTOMIZATIONS": "Customizations",
+		"LOCALNETADDRESS": "Localnet Address",
+		"NEW_VERSION": "New Version",
+		"TRIAL_VERSION": "Trial Version",
+		"TOKEN": "Token",
+		"NEW_TOKEN_DETECTED": "New Token Detected",
+		"EXPIRATION_GRAY_PERIOD": "Gray Period Expiration",
+		"NEW_TOKEN": "New Token",
+		"PRICES": "Prices",
+		"UPDATE_LICENSE": "Update License",
+		"LOGOLOGIN": "Login Logo",
+		"EXPIRATION_REASON": "Expiration Reason",
+		"GLOBAL": "Global",
+		"SMTP_AUTHENTICATION": "Authentication",
+		"LICENSE_REQUEST_SENT": "Thank you! The Licensing Team will check your account asap in order to approve your request: you will receive an email when the changes become effective. Please refer to [email-masked] for further informations.",
+		"ACCOUNTNAME": "Account Name",
+		"EMAILADDRESS": "Email Address",
+		"EXPIRATION_REASON_MESSAGE_DISABLED": "Your license has been disabled.",
+		"EXPIRATION_REASON_MESSAGE_CHANGED": "Your machine unique id has been updated due to a change to your system.",
+		"EXPIRATION_CHANGED_ADVISE": "Contact xCALLY Motion License Team sending both your old and your new uuid.",
+		"OLD_TOKEN": "Old Token",
+		"SEND_EMAIL_TO": "Send Email to",
+		"JIRA_ERROR_MESSAGE": "Error during license request. Please contact our license team at [email-masked] with your request",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"PAGE_TITLE": "Page Title",
+		"DEFAULT_PAGE_TITLE": "Default Page Title",
+		"PERPETUAL": "Perpetual",
+		"SECURITY_SUITE": "Security Suite",
+		"ANNUALLY": "Annually",
+		"AGENTOMNIDESKTOPINTERFACE": "Agent Omni Desktop Interface",
+		"MESSAGESALIGNMENT": "Messages Alignment",
+		"ENTER_LICENSE": "Enter your license",
+		"UPDATE_LICENSE_MANUALLY": "Do you want to update your license manually?",
+		"ACCESSKEY": "Juurdepääsukoodi ID",
+		"ADD_CLOUDPROVIDER": "Lisada konto",
+		"AI": "A.I. Tööriistad",
+		"AITOOLS": "A.I. Tööriistad",
+		"ALLOWEDLOGINATTEMPTS": "Enne kasutaja / esindaja lukustamist lubatakse sisselogimiskatsed",
+		"APPZONE": "Rakendustsoon",
+		"BLOCKDURATION": "Enne automaatse avamise ootamist on vaja minutit",
+		"BUCKET": "Ämber",
+		"DEFAULTSCREENRECORDINGPATH": "Ekraani salvestustee",
+		"DEFAULT_FAVICON": "Vaikimisi Favicon",
+		"DEFAULT_PREFERRED": "Eelistatud vaikimisi logo",
+		"DELETE": "Kustuta",
+		"DELETE_CLOUDPROVIDER": "Kustuta konto",
+		"EDIT_CLOUDPROVIDER": "Redigeeri kontot",
+		"FAVICON": "Favicon",
+		"GOOGLE_SSO_ENABLED": "Google'i SSO on lubatud",
+		"IMAPGENERALSETTINGS": "IMAP",
+		"LANGUAGE": "Keel",
+		"LOGINMAILFREQUENCY": "Sisselogimise e-posti sagedus (sekundites)",
+		"NEW_CLOUDPROVIDER": "Uus konto",
+		"PREFERRED": "Eelistatud logo",
+		"RTLSUPPORT": "RTL tugi",
+		"SCREENRECORDING": "Ekraanisalvestus",
+		"SECRETACCESSKEY": "Salajane juurdepääsuvõti",
+		"SECURITY": "Turvalisus",
+		"SENTIMENTACCOUNT": "Sentimentide analüüsi konto",
+		"SENTIMENTANALYSIS": "Sentimentide analüüs",
+		"SENTIMENTREGION": "Sentimentide analüüsi piirkond",
+		"SERVICE": "Teenindus",
+		"SSO": "SSO",
+		"TRANSCRIBE": "Transkribeerida",
+		"TRANSCRIBEACCOUNT": "Konto transkribeerimine",
+		"TRANSCRIBEREGION": "Transkribeeritav piirkond",
+		"USERNAME": "Kasutajanimi",
+		"VIDEO": "Video",
+		"WHATSAPP": "WhatsApp-pistik"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/settings/i18n/lt.json b/public/app/main/apps/settings/i18n/lt.json
new file mode 100644
index 0000000..6844a1c
--- /dev/null
+++ b/public/app/main/apps/settings/i18n/lt.json
@@ -0,0 +1,249 @@
+{
+	"SETTINGS": {
+		"RTLSUPPORT": "RTL Support",
+		"PREFERRED": "Preferred Logo",
+		"DEFAULT_PREFERRED": "Default Preferred Logo",
+		"FAVICON": "Favicon",
+		"DEFAULT_FAVICON": "Default Favicon",
+		"MOTIONBARREMEMBERME": "Remember Me",
+		"CHATTIMEOUT": "Chat closing interaction timeout",
+		"VIRTUAL": "Chat",
+		"VOICE": "Voice",
+		"SESSIONS": "Sessions",
+		"ADDONS": "Add-ons",
+		"REPORT": "Report",
+		"SPLIT": "Split report",
+		"SPLITSIZECSV": "Split report size [CSV records]",
+		"SPLITSIZEPDF": "Split report size [PDF records]",
+		"SPLITSIZEXLSX": "Split report size [XLSX records]",
+		"ENABLEEMAILPREVIEW": "Enable Email Preview",
+		"JAWS": "Jaws",
+		"MOTIONBAR": "Motionbar",
+		"MOTIONBARAUTOUPDATER": "Auto Updater",
+		"MOTIONBARAUTOUPDATERURL": "Auto Updater URL",
+		"SMTP_SSL": "SMTP SSL",
+		"CALL_RECORDING_ENCRYPTION": "Voice Recording Encryption",
+		"TURNADDR": "TURN Address",
+		"TURN_USERNAME": "TURN Username",
+		"TURN_PASSWORD": "TURN Password",
+		"WEBRTC": "WebRTC",
+		"CALLYSQUARE": "Cally Square",
+		"ENABLED": "Enabled",
+		"DISABLED": "Disabled",
+		"UNLIMITED_CHANNELS": "Unlimited Channels",
+		"RELOAD": "Reload",
+		"VERIFY": "Verify",
+		"INTERFACE": "Interface",
+		"UPDATING": "Updating",
+		"REMOTE_VERSION": "Remote Version",
+		"NO_NEW_VERSION_AVAILABLE": "No new version available",
+		"TOP_N_PROCESSES": "Top {{value}} processes",
+		"SYSTEM": "System",
+		"FILE_SYSTEM": "File System",
+		"PROCESSES": "Processes",
+		"MOUNT_POINT": "Mount",
+		"AVG_LOAD": "AVG Load",
+		"TOTAL": "Total",
+		"USED": "Used",
+		"FREE": "Free",
+		"NAME": "Name",
+		"STATE": "State",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"MESSAGING": "Sms",
+		"FAX": "Fax",
+		"OPENCHANNEL": "Open Channel",
+		"AGENTS": "Agents",
+		"USERS": "Users",
+		"TELEPHONES": "Telephones",
+		"STAFF": "Staff",
+		"CHANNELS": "Channels",
+		"MODULES": "Modules",
+		"CM": "Contacts Manager",
+		"DIALER": "Dialer",
+		"JSCRIPTY": "Jscripty",
+		"CUSTOM": "Customization",
+		"VIDEO": "Video",
+		"SCREENRECORDING": "Screen Recording",
+		"UPDATE": "Update",
+		"OTHERS": "Others",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"SMTP": "SMTP",
+		"NETWORKS": "Networks",
+		"UPDATES": "Updates",
+		"LICENSE": "License",
+		"ID": "Id",
+		"MIN_INTERNAL": "Min Internal",
+		"MIN_MAILBOX": "Min Mailbox",
+		"INSTALLED_AT": "Installed At",
+		"SEARCH_FOR_ANYONE": "Search",
+		"EDIT_GENERAL": "Edit General",
+		"SECURE_PASSWORD": "Secure Password",
+		"LOGO": "Logo",
+		"DEFAULT_LOGO": "Default Logo",
+		"DEFAULT_LOGIN_LOGO": "Default Login Logo",
+		"WHITELABEL": "White Label",
+		"DEFAULT_HEADER_WHITELABEL": "Default Header White Label",
+		"HEADER_WHITELABEL": "Header White Label",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SMTP_SERVICE": "Service",
+		"SMTP_HOST": "Host",
+		"SMTP_USERNAME": "Username",
+		"DESCRIPTION": "Description",
+		"SMTP_PASSWORD": "Password",
+		"SMTP_PORT": "Port",
+		"SMTP_SECURE": "Secure",
+		"TYPE": "Type",
+		"ADDRESS": "Address",
+		"USERNAME": "Username",
+		"NEW_NETWORK": "New Network",
+		"ADD_NETWORK": "Add Network",
+		"IMAPGENERALSETTINGS": "IMAP",
+		"LOGINMAILFREQUENCY": "Login Mail Frequency (sec)",
+		"DEFAULTSCREENRECORDINGPATH": "Screen Recording path",
+		"SSO": "SSO",
+		"GOOGLE_SSO_ENABLED": "Google SSO Enabled",
+		"HELP": {
+			"DEFAULTSCREENRECORDINGPATH": "Enter the path where to store screen recording files on the Agent computer (leave empty for default Video Folder path)",
+			"RTLSUPPORT": "Enables the RTL Support for Arabic, Persian and Hebrew languages",
+			"ADDRESS": "External (public) ip address",
+			"USERNAME": "Username",
+			"PASSWORD": "Password",
+			"LOCALNETADDRESS": "Local ip address/subnet",
+			"SMTP_SECURE": "If true, the connection to the server will use TLS",
+			"SMTP_USERNAME": "Username used for authentication",
+			"SMTP_PASSWORD": "Password used for authentication",
+			"EMAILADDRESS": "The message origin Email address (from)",
+			"SECURITY_SUITE": "Enables the secure password format, the mandatory password reset after the first login and the password expiration after 90 days",
+			"MOTIONBARREMEMBERME": "Enable/Disable the Remember Me feature in Motion Phonebar",
+			"LOGINMAILFREQUENCY": "Please remember to restart the EMAIL service each time this parameter has been changed"
+		},
+		"ERRORS": {
+			"CHATTIMEOUT_REQUIRED": "Mandatory field",
+			"CHATTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MOTIONBARAUTOUPDATERURL_MUST_VALID_URL": "Wrong format",
+			"MOTIONBARAUTOUPDATERURL_REQUIRED": "Mandatory field",
+			"ADDRESS_REQUIRED": "Mandatory field",
+			"MIN_INTERNAL_REQUIRED": "Mandatory field",
+			"MIN_MAILBOX_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HEADER_WHITELABEL_REQUIRED": "Mandatory field",
+			"LOCALNETADDRESS_REQUIRED": "Mandatory field",
+			"LOCALNETADDRESS_MUST_VALID_PATTERN": "Wrong format",
+			"ADDRESS_MUST_VALID_PATTERN": "Wrong format",
+			"ACCOUNTNAME_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"SMTP_USERNAME_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"SMTP_HOST_REQUIRED": "Mandatory field",
+			"SMTP_PORT_REQUIRED": "Mandatory field",
+			"MIN_INTERNAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MIN_MAILBOX_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PAGE_TITLE_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"PLAN_REQUIRED": "Mandatory field",
+			"LICENSE_REQUIRED": "Mandatory field",
+			"LOGINMAILFREQUENCY_REQUIRED": "Mandatory field",
+			"LOGINMAILFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"ALLOWEDLOGINATTEMPTS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"BLOCKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"ALLOWEDLOGINATTEMPTS_REQUIRED": "Mandatory field",
+			"BLOCKDURATION_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field",
+			"ACCESSKEY_REQUIRED": "Privalomas laukas",
+			"BUCKET_REQUIRED": "Privalomas laukas",
+			"LANGUAGE_REQUIRED": "Privalomas laukas",
+			"SECRETACCESSKEY_REQUIRED": "Privalomas laukas",
+			"SENTIMENTACCOUNT_REQUIRED": "Privalomas laukas",
+			"SENTIMENTREGION_REQUIRED": "Privalomas laukas",
+			"SERVICE_REQUIRED": "Privalomas laukas",
+			"TRANSCRIBEACCOUNT_REQUIRED": "Privalomas laukas",
+			"TRANSCRIBEREGION_REQUIRED": "Privalomas laukas"
+		},
+		"EDIT_NETWORK": "Edit Network",
+		"DELETE_NETWORK": "Delete Network",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"EXPIRATION_DATE": "Expiration Date",
+		"REQUEST_LICENSE": "Request License",
+		"EMAIL": "Email",
+		"SEND": "Send",
+		"PLAN": "Plan",
+		"MONTH_TO_MONTH": "Month to month",
+		"MOTION_PROCESS_MANAGEMENT": "Motion Process Management",
+		"USEFUL_COMMANDS": "Useful Commands",
+		"COMMAND": "Command",
+		"PM2_LIST": "List all processes",
+		"PM2_START": "Start a process by id or name",
+		"PM2_STOP": "Stop a process by id or name or insert 'all' to stop all the active processes",
+		"PM2_RESTART": "Restart a process by id or name",
+		"PM2_LOGS": "Stream all processes log files, unless a specific process id or name is provided",
+		"PASSWORD": "Password",
+		"NO_AVAILABLE_INFO": "No available info",
+		"STUNADDR": "STUN Address",
+		"CHANGELOG": "Changelog",
+		"CURRENT_VERSION": "Current version",
+		"CUSTOMIZATIONS": "Customizations",
+		"LOCALNETADDRESS": "Localnet Address",
+		"NEW_VERSION": "New Version",
+		"TRIAL_VERSION": "Trial Version",
+		"TOKEN": "Token",
+		"NEW_TOKEN_DETECTED": "New Token Detected",
+		"EXPIRATION_GRAY_PERIOD": "Gray Period Expiration",
+		"NEW_TOKEN": "New Token",
+		"PRICES": "Prices",
+		"UPDATE_LICENSE": "Update License",
+		"LOGOLOGIN": "Login Logo",
+		"EXPIRATION_REASON": "Expiration Reason",
+		"GLOBAL": "Global",
+		"SMTP_AUTHENTICATION": "Authentication",
+		"LICENSE_REQUEST_SENT": "Thank you! The Licensing Team will check your account asap in order to approve your request: you will receive an email when the changes become effective. Please refer to [email-masked] for further informations.",
+		"ACCOUNTNAME": "Account Name",
+		"EMAILADDRESS": "Email Address",
+		"EXPIRATION_REASON_MESSAGE_DISABLED": "Your license has been disabled.",
+		"EXPIRATION_REASON_MESSAGE_CHANGED": "Your machine unique id has been updated due to a change to your system.",
+		"EXPIRATION_CHANGED_ADVISE": "Contact xCALLY Motion License Team sending both your old and your new uuid.",
+		"OLD_TOKEN": "Old Token",
+		"SEND_EMAIL_TO": "Send Email to",
+		"JIRA_ERROR_MESSAGE": "Error during license request. Please contact our license team at [email-masked] with your request",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"PAGE_TITLE": "Page Title",
+		"DEFAULT_PAGE_TITLE": "Default Page Title",
+		"PERPETUAL": "Perpetual",
+		"SECURITY_SUITE": "Security Suite",
+		"ANNUALLY": "Annually",
+		"AGENTOMNIDESKTOPINTERFACE": "Agent Omni Desktop Interface",
+		"MESSAGESALIGNMENT": "Messages Alignment",
+		"ENTER_LICENSE": "Enter your license",
+		"UPDATE_LICENSE_MANUALLY": "Do you want to update your license manually?",
+		"SECURITY": "Security",
+		"ALLOWEDLOGINATTEMPTS": "Allowed login attempts before locking the user/agent",
+		"BLOCKDURATION": "Minutes to wait before automatic unlock",
+		"ACCESSKEY": "Prieigos rakto ID",
+		"ADD_CLOUDPROVIDER": "Pridėti paskyrą",
+		"AI": "A.I. Įrankiai",
+		"AITOOLS": "A.I. Įrankiai",
+		"APPZONE": "Programos zona",
+		"BUCKET": "Kibiras",
+		"DELETE": "Ištrinti",
+		"DELETE_CLOUDPROVIDER": "Ištrinti paskyrą",
+		"EDIT_CLOUDPROVIDER": "Redaguoti sąskaitą",
+		"LANGUAGE": "Kalba",
+		"NEW_CLOUDPROVIDER": "Nauja paskyra",
+		"SECRETACCESSKEY": "Slaptas prieigos raktas",
+		"SENTIMENTACCOUNT": "Sentimentų analizės sąskaita",
+		"SENTIMENTANALYSIS": "Sentimentų analizė",
+		"SENTIMENTREGION": "Sentimentų analizės regionas",
+		"SERVICE": "Aptarnavimas",
+		"TRANSCRIBE": "Transkribuoti",
+		"TRANSCRIBEACCOUNT": "Transkribuoti sąskaitą",
+		"TRANSCRIBEREGION": "Transkripcijos regionas",
+		"WHATSAPP": "„WhatsApp“ jungtis"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/sms/i18n/cs.json b/public/app/main/apps/sms/i18n/cs.json
new file mode 100644
index 0000000..95972c5
--- /dev/null
+++ b/public/app/main/apps/sms/i18n/cs.json
@@ -0,0 +1,285 @@
+{
+	"SMS": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"AUTHID": "Auth ID",
+		"NO_SMSDISPOSITIONS_AVAILABLE": "No Sms Disposition Available",
+		"CANNEDANSWERS": "Canned Answers",
+		"SMSCANNEDANSWERS": "Canned Answers",
+		"NO_SMSCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_SMSCANNEDANSWER": "New Canned Answer",
+		"ADD_SMSCANNEDANSWER": "Add Canned Answer",
+		"EDIT_SMSCANNEDANSWER": "Edit",
+		"DELETE_SMSCANNEDANSWER": "Delete",
+		"DELIVERYREPORTURL": "Delivery Report URL",
+		"DELETE": "Delete",
+		"SENDERSTRING": "Sender String",
+		"DELIVERYREPORT": "Delivery Report",
+		"METHOD": "Method",
+		"ADD_NOTE": "Add note",
+		"NOTE": "Note",
+		"SPYINTERACTION": "Spy",
+		"AUTOREPLY": "Auto Reply",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"TIMES": "Number of times per interaction",
+		"TEXT": "Text",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"SEND": "Send",
+		"TO": "To",
+		"MESSAGE": "Message",
+		"TAGS": "Tags",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_SMSQUEUE": "Go To Realtime Sms Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"PROXY": "Proxy",
+		"ADVANCED": "Advanced",
+		"MOTIONPROXY": "Proxy Or Motion Domain",
+		"REALTIME": "Realtime",
+		"KEY": "Key",
+		"NAME": "Name",
+		"SMSQUEUES": "SMS Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"AUTHID_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
+			"METHOD_REQUIRED": "Mandatory Field",
+			"MOTIONPROXY_REQUIRED": "Mandatory Field",
+			"MOTIONPROXY_MUST_VALID_URL": "Wrong format",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"PHONE_REQUIRED": "Mandatory Field",
+			"SID_REQUIRED": "Mandatory Field",
+			"TOKEN_REQUIRED": "Mandatory Field",
+			"USERNAME_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"TYPE_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"ACCOUNTSID_REQUIRED": "Mandatory Field",
+			"AUTHTOKEN_REQUIRED": "Mandatory Field",
+			"ACCESSKEYID_REQUIRED": "Je vyžadováno ID přístupového klíče",
+			"APIKEY_REQUIRED": "Povinné pole",
+			"BASEURL_REQUIRED": "Povinné pole",
+			"BOTNAME_REQUIRED": "Název bota je povinný",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
+			"SECRETACCESSKEY_REQUIRED": "Je vyžadováno tajemství přístupu"
+		},
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_SMSQUEUE": "Add SMS Queue",
+		"EDIT_SMSQUEUE": "Edit SMS Queue",
+		"DELETE_SMSQUEUE": "Delete SMS Queue",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SMSACCOUNTS": "SMS Accounts",
+		"TYPE": "Type",
+		"PHONE": "Phone",
+		"SID": "SID",
+		"TOKEN": "Token",
+		"SMSTYPE": "SMS Type",
+		"USERNAME": "Username",
+		"PASSWORD": "Password",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_SMSACCOUNT": "Add SMS Account",
+		"EDIT_SMSACCOUNT": "Edit SMS Account",
+		"DELETE_SMSACCOUNT": "Delete SMS Account",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"API": "API",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"SMS": "SMS",
+		"ID": "Id",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"SMSDISPOSITIONS": "SMS Dispositions",
+		"NO_SMSDISPOSITION_AVAILABLE": "No SMS Dispositions available",
+		"NEW_SMSDISPOSITION": "New SMS Disposition",
+		"ADD_SMSDISPOSITION": "Add SMS Disposition",
+		"EDIT_SMSDISPOSITION": "Edit SMS Disposition",
+		"DELETE_SMSDISPOSITION": "Delete SMS Disposition",
+		"NEW_SMSQUEUE": "New SMS Queue",
+		"NEW_SMSACCOUNT": "New SMS Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"HELP": {
+			"MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager list used to associate contacts",
+			"RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your SMS provider (POST method must be used): click the clipboard button to copy it",
+			"DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it",
+			"MANDATORYDISPOSITION": "Povinná dispozice",
+			"MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
+			"WELCOMEMESSAGE": "Toto je první odezva na nové interakce"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"TEAMADD_SMSQUEUE": "Add Team To SMS Queue",
+		"AGENTADD_SMSQUEUE": "Add Agent To SMS Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"RECEIVEURL": "Receive URL",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"AGENT": "Agent",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"NOTES": "Notes",
+		"GOTO": "Goto",
+		"GOTOIF": "Gotoif",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"TIMEOUT": "Timeout",
+		"VALUE": "Value",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_QUEUE": "Edit Queue",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"PRIORITY": "Priority",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_CLOSE": "Edit Close",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select a status",
+		"ALL": "All",
+		"SELECT_ACCOUNT": "Select an account",
+		"OPENED": "Open",
+		"CLOSED": "Closed",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"OPEN": "Open",
+		"INFO": "Info",
+		"ACCOUNTSID": "Account SID",
+		"AUTHTOKEN": "Auth Token",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to SMS queue",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"OPENCHANNEL": "Open channel",
+		"FAX": "Fax",
+		"AGENTSADD_QUEUE": "Add agents to SMS queue",
+		"INTERACTIONS_SMSACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_SMSACCOUNT": "Add Agent to SMS Account",
+		"ACCESSKEYID": "ID přístupového klíče",
+		"AMAZONLEX": "AmazonLex",
+		"APIKEY": "ApiKey",
+		"BASEURL": "Základní URL",
+		"BOTNAME": "Název bota",
+		"DIALOGFLOW": "DialogFlow",
+		"DOWNLOAD_WITHOUT_ATTACHMENT": "Stahujte bez přílohy",
+		"DOWNLOAD_WITH_ATTACHMENT": "Stáhnout s přílohou",
+		"EDIT_AMAZONLEX": "Upravit konfiguraci Lex",
+		"EDIT_DIALOGFLOW": "Upravit konfiguraci DialogFlow",
+		"LANGUAGE": "Jazyk",
+		"LASTMESSAGE": "Poslední zpráva",
+		"LEXREGION": "Kraj",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
+		"SECRETACCESSKEY": "Přístup k tajným klíčům",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"WELCOMEMESSAGE": "Uvítací zpráva"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/sms/i18n/et.json b/public/app/main/apps/sms/i18n/et.json
new file mode 100644
index 0000000..2ddb61c
--- /dev/null
+++ b/public/app/main/apps/sms/i18n/et.json
@@ -0,0 +1,285 @@
+{
+	"SMS": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"AUTHID": "Auth ID",
+		"NO_SMSDISPOSITIONS_AVAILABLE": "No Sms Disposition Available",
+		"CANNEDANSWERS": "Canned Answers",
+		"SMSCANNEDANSWERS": "Canned Answers",
+		"NO_SMSCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_SMSCANNEDANSWER": "New Canned Answer",
+		"ADD_SMSCANNEDANSWER": "Add Canned Answer",
+		"EDIT_SMSCANNEDANSWER": "Edit",
+		"DELETE_SMSCANNEDANSWER": "Delete",
+		"DELIVERYREPORTURL": "Delivery Report URL",
+		"DELETE": "Delete",
+		"SENDERSTRING": "Sender String",
+		"DELIVERYREPORT": "Delivery Report",
+		"METHOD": "Method",
+		"ADD_NOTE": "Add note",
+		"NOTE": "Note",
+		"SPYINTERACTION": "Spy",
+		"AUTOREPLY": "Auto Reply",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"TIMES": "Number of times per interaction",
+		"TEXT": "Text",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"SEND": "Send",
+		"TO": "To",
+		"MESSAGE": "Message",
+		"TAGS": "Tags",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_SMSQUEUE": "Go To Realtime Sms Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"PROXY": "Proxy",
+		"ADVANCED": "Advanced",
+		"MOTIONPROXY": "Proxy Or Motion Domain",
+		"REALTIME": "Realtime",
+		"KEY": "Key",
+		"NAME": "Name",
+		"SMSQUEUES": "SMS Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"ERRORS": {
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"AUTHID_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
+			"METHOD_REQUIRED": "Mandatory Field",
+			"MOTIONPROXY_REQUIRED": "Mandatory Field",
+			"MOTIONPROXY_MUST_VALID_URL": "Wrong format",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"PHONE_REQUIRED": "Mandatory Field",
+			"SID_REQUIRED": "Mandatory Field",
+			"TOKEN_REQUIRED": "Mandatory Field",
+			"USERNAME_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"TYPE_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"ACCOUNTSID_REQUIRED": "Mandatory Field",
+			"AUTHTOKEN_REQUIRED": "Mandatory Field",
+			"ACCESSKEYID_REQUIRED": "Juurdepääsukoodi ID on vajalik",
+			"APIKEY_REQUIRED": "Kohustuslik väli",
+			"BASEURL_REQUIRED": "Kohustuslik väli",
+			"BOTNAME_REQUIRED": "Boti nimi on kohustuslik",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
+			"SECRETACCESSKEY_REQUIRED": "Juurdepääsu võtme saladus on vajalik"
+		},
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_SMSQUEUE": "Add SMS Queue",
+		"EDIT_SMSQUEUE": "Edit SMS Queue",
+		"DELETE_SMSQUEUE": "Delete SMS Queue",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SMSACCOUNTS": "SMS Accounts",
+		"TYPE": "Type",
+		"PHONE": "Phone",
+		"SID": "SID",
+		"TOKEN": "Token",
+		"SMSTYPE": "SMS Type",
+		"USERNAME": "Username",
+		"PASSWORD": "Password",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_SMSACCOUNT": "Add SMS Account",
+		"EDIT_SMSACCOUNT": "Edit SMS Account",
+		"DELETE_SMSACCOUNT": "Delete SMS Account",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"API": "API",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"SMS": "SMS",
+		"ID": "Id",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"SMSDISPOSITIONS": "SMS Dispositions",
+		"NO_SMSDISPOSITION_AVAILABLE": "No SMS Dispositions available",
+		"NEW_SMSDISPOSITION": "New SMS Disposition",
+		"ADD_SMSDISPOSITION": "Add SMS Disposition",
+		"EDIT_SMSDISPOSITION": "Edit SMS Disposition",
+		"DELETE_SMSDISPOSITION": "Delete SMS Disposition",
+		"NEW_SMSQUEUE": "New SMS Queue",
+		"NEW_SMSACCOUNT": "New SMS Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"HELP": {
+			"MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager list used to associate contacts",
+			"RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your SMS provider (POST method must be used): click the clipboard button to copy it",
+			"DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it",
+			"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+			"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+			"WELCOMEMESSAGE": "See on esimene vastussõnum, mis saadetakse uutele interaktsioonidele"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"TEAMADD_SMSQUEUE": "Add Team To SMS Queue",
+		"AGENTADD_SMSQUEUE": "Add Agent To SMS Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"RECEIVEURL": "Receive URL",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"AGENT": "Agent",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"NOTES": "Notes",
+		"GOTO": "Goto",
+		"GOTOIF": "Gotoif",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"TIMEOUT": "Timeout",
+		"VALUE": "Value",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_QUEUE": "Edit Queue",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"PRIORITY": "Priority",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_CLOSE": "Edit Close",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select a status",
+		"ALL": "All",
+		"SELECT_ACCOUNT": "Select an account",
+		"OPENED": "Open",
+		"CLOSED": "Closed",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"OPEN": "Open",
+		"INFO": "Info",
+		"ACCOUNTSID": "Account SID",
+		"AUTHTOKEN": "Auth Token",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to SMS queue",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"OPENCHANNEL": "Open channel",
+		"FAX": "Fax",
+		"AGENTSADD_QUEUE": "Add agents to SMS queue",
+		"INTERACTIONS_SMSACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_SMSACCOUNT": "Add Agent to SMS Account",
+		"ACCESSKEYID": "Juurdepääsukoodi ID",
+		"AMAZONLEX": "AmazonLex",
+		"APIKEY": "ApiKey",
+		"BASEURL": "Baas-URL",
+		"BOTNAME": "Boti nimi",
+		"DIALOGFLOW": "DialogFlow",
+		"DOWNLOAD_WITHOUT_ATTACHMENT": "Laadige alla ilma manuseta",
+		"DOWNLOAD_WITH_ATTACHMENT": "Laadige alla koos manusega",
+		"EDIT_AMAZONLEX": "Redigeeri Lexi konfiguratsiooni",
+		"EDIT_DIALOGFLOW": "Redigeeri DialogFlow konfiguratsiooni",
+		"LANGUAGE": "Keel",
+		"LASTMESSAGE": "Viimane teade",
+		"LEXREGION": "Piirkond",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+		"SECRETACCESSKEY": "Juurdepääsu võtme saladus",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"WELCOMEMESSAGE": "Tervitussõnum"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/sms/i18n/lt.json b/public/app/main/apps/sms/i18n/lt.json
new file mode 100644
index 0000000..2aa3cf4
--- /dev/null
+++ b/public/app/main/apps/sms/i18n/lt.json
@@ -0,0 +1,285 @@
+{
+	"SMS": {
+		"AMAZONLEX": "AmazonLex",
+		"EDIT_AMAZONLEX": "Edit Lex configuration",
+		"ACCESSKEYID": "Access key ID",
+		"SECRETACCESSKEY": "Access key secret",
+		"LEXREGION": "Region",
+		"BOTNAME": "Bot name",
+		"WELCOMEMESSAGE": "Welcome message",
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"DOWNLOAD_INTERACTION": "Download",
+		"TRANSFER": "Transfer",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"TAG": "Tag",
+		"EDIT_TAG": "Edit Tag",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"SYSTEM": "System",
+		"EDIT_SYSTEM": "Edit System",
+		"COMMAND": "Command",
+		"VARIABLE": "Variable",
+		"AUTHID": "Auth ID",
+		"NO_SMSDISPOSITIONS_AVAILABLE": "No Sms Disposition Available",
+		"CANNEDANSWERS": "Canned Answers",
+		"SMSCANNEDANSWERS": "Canned Answers",
+		"NO_SMSCANNEDANSWER_AVAILABLE": "No Canned Answers Available",
+		"NEW_SMSCANNEDANSWER": "New Canned Answer",
+		"ADD_SMSCANNEDANSWER": "Add Canned Answer",
+		"EDIT_SMSCANNEDANSWER": "Edit",
+		"DELETE_SMSCANNEDANSWER": "Delete",
+		"DELIVERYREPORTURL": "Delivery Report URL",
+		"DELETE": "Delete",
+		"SENDERSTRING": "Sender String",
+		"DELIVERYREPORT": "Delivery Report",
+		"METHOD": "Method",
+		"ADD_NOTE": "Add note",
+		"NOTE": "Note",
+		"SPYINTERACTION": "Spy",
+		"AUTOREPLY": "Auto Reply",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"TIMES": "Number of times per interaction",
+		"TEXT": "Text",
+		"INSERT_MESSAGE_HERE": "Insert your text message here",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"SEND": "Send",
+		"TO": "To",
+		"MESSAGE": "Message",
+		"TAGS": "Tags",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"GOTOREALTIME_SMSQUEUE": "Go To Realtime Sms Queue",
+		"PARTIALPAUSE": "Parital Pause",
+		"BUSY": "Busy",
+		"TIMER": "Timer",
+		"IDLE": "Idle",
+		"CAPACITY": "Capacity",
+		"PROXY": "Proxy",
+		"ADVANCED": "Advanced",
+		"MOTIONPROXY": "Proxy Or Motion Domain",
+		"REALTIME": "Realtime",
+		"KEY": "Key",
+		"NAME": "Name",
+		"SMSQUEUES": "SMS Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"STRATEGY": "Strategy",
+		"BASEURL": "Base URL",
+		"MANDATORYDISPOSITION": "Mandatory disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Access key ID is required",
+			"SECRETACCESSKEY_REQUIRED": "Access key secret is required",
+			"BOTNAME_REQUIRED": "Bot name is required",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"AUTHID_REQUIRED": "Mandatory Field",
+			"TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
+			"METHOD_REQUIRED": "Mandatory Field",
+			"MOTIONPROXY_REQUIRED": "Mandatory Field",
+			"MOTIONPROXY_MUST_VALID_URL": "Wrong format",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"PHONE_REQUIRED": "Mandatory Field",
+			"SID_REQUIRED": "Mandatory Field",
+			"TOKEN_REQUIRED": "Mandatory Field",
+			"USERNAME_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_REQUIRED": "Mandatory Field",
+			"MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+			"ACCEPTURL_MUST_VALID_URL": "Wrong format",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"REJECTURL_MUST_VALID_URL": "Wrong format",
+			"CLOSEURL_MUST_VALID_URL": "Wrong format",
+			"TYPE_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"ACCOUNTSID_REQUIRED": "Mandatory Field",
+			"AUTHTOKEN_REQUIRED": "Mandatory Field",
+			"BASEURL_REQUIRED": "Mandatory Field",
+			"APIKEY_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field"
+		},
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"DESCRIPTION": "Description",
+		"ADD_SMSQUEUE": "Add SMS Queue",
+		"EDIT_SMSQUEUE": "Edit SMS Queue",
+		"DELETE_SMSQUEUE": "Delete SMS Queue",
+		"SETTINGS": "Settings",
+		"GENERAL": "General",
+		"CREATED_AT": "Created At",
+		"SAVE": "Save",
+		"SMSACCOUNTS": "SMS Accounts",
+		"TYPE": "Type",
+		"PHONE": "Phone",
+		"SID": "SID",
+		"TOKEN": "Token",
+		"SMSTYPE": "SMS Type",
+		"USERNAME": "Username",
+		"PASSWORD": "Password",
+		"MOTIONADDRESS": "Motion Address",
+		"ADD_SMSACCOUNT": "Add SMS Account",
+		"EDIT_SMSACCOUNT": "Edit SMS Account",
+		"DELETE_SMSACCOUNT": "Delete SMS Account",
+		"LIST": "List",
+		"FIDELITY": "Fidelity",
+		"API": "API",
+		"DISPOSITIONS": "Dispositions",
+		"WEBHOOKS": "WebHooks",
+		"ACTIONS": "Actions",
+		"ACCEPT": "Accept",
+		"ACCEPTMETHOD": "Accept Method",
+		"ACCEPTURL": "Accept URL",
+		"REJECT": "Reject",
+		"REJECTMETHOD": "Reject Method",
+		"REJECTURL": "Reject URL",
+		"CLOSE": "Close",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"BACK": "Back",
+		"SMS": "SMS",
+		"ID": "Id",
+		"APIKEY": "ApiKey",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"SMSDISPOSITIONS": "SMS Dispositions",
+		"NO_SMSDISPOSITION_AVAILABLE": "No SMS Dispositions available",
+		"NEW_SMSDISPOSITION": "New SMS Disposition",
+		"ADD_SMSDISPOSITION": "Add SMS Disposition",
+		"EDIT_SMSDISPOSITION": "Edit SMS Disposition",
+		"DELETE_SMSDISPOSITION": "Delete SMS Disposition",
+		"NEW_SMSQUEUE": "New SMS Queue",
+		"NEW_SMSACCOUNT": "New SMS Account",
+		"NO_AVAILABLE_INFO": "No available info",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"DIALOGFLOW": "DialogFlow",
+		"EDIT_DIALOGFLOW": "Edit DialogFlow configuration",
+		"LANGUAGE": "Language",
+		"HELP": {
+			"WELCOMEMESSAGE": "This is the first response message sent to new interactions",
+			"MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"LIST": "Contact Manager list used to associate contacts",
+			"RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your SMS provider (POST method must be used): click the clipboard button to copy it",
+			"DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it",
+			"MANDATORYDISPOSITION": "Mandatory disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled"
+		},
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"TEAMADD_SMSQUEUE": "Add Team To SMS Queue",
+		"AGENTADD_SMSQUEUE": "Add Agent To SMS Queue",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"RECEIVEURL": "Receive URL",
+		"INTERACTION": "Interaction",
+		"INTERACTIONS": "Interactions",
+		"NO_INTERACTION_AVAILABLE": "No interactions available",
+		"CONTACT": "Contact",
+		"STARTEDAT": "Started At",
+		"LASTMESSAGE": "Last message",
+		"AGENT": "Agent",
+		"CLOSEDAT": "Closed At",
+		"DISPOSITION": "Disposition",
+		"NOTES": "Notes",
+		"GOTO": "Goto",
+		"GOTOIF": "Gotoif",
+		"NOOP": "Noop",
+		"QUEUE": "Queue",
+		"TIMEOUT": "Timeout",
+		"VALUE": "Value",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_GOTO": "Edit Goto",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_QUEUE": "Edit Queue",
+		"CONDITION": "Condition",
+		"TRUEPRIORITY": "True Priority",
+		"FALSEPRIORITY": "False Priority",
+		"PRIORITY": "Priority",
+		"GOTOP": "Gotop",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_CLOSE": "Edit Close",
+		"FILTER": "Filter",
+		"SELECT_STATUS": "Select a status",
+		"ALL": "All",
+		"SELECT_ACCOUNT": "Select an account",
+		"OPENED": "Open",
+		"CLOSED": "Closed",
+		"STATUS": "Status",
+		"ACCOUNT": "Account",
+		"OPEN": "Open",
+		"INFO": "Info",
+		"ACCOUNTSID": "Account SID",
+		"AUTHTOKEN": "Auth Token",
+		"UNKNOWN": "Unknown",
+		"UNREGISTERED": "Unregistered",
+		"UNAVAILABLE": "Unavailable",
+		"NOT_INUSE": "Not in use",
+		"REACHABLE": "Reachable",
+		"IN_USE": "In use",
+		"AGENTS": "Agents",
+		"QUEUES": "Queues",
+		"FULLNAME": "Fullname",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"PAUSE": "Pause",
+		"LOGOUT": "Logout",
+		"AGENTADD_QUEUE": "Add agent to SMS queue",
+		"UNPAUSE": "End Pause",
+		"DEFAULT_PAUSE": "Default pause",
+		"LOGGED_IN": "Logged in",
+		"PAUSED": "Paused",
+		"READY": "Ready",
+		"WAITING": "Waiting",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"OPENCHANNEL": "Open channel",
+		"FAX": "Fax",
+		"AGENTSADD_QUEUE": "Add agents to SMS queue",
+		"INTERACTIONS_SMSACCOUNT": "Go to Interactions",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"AGENTADD_SMSACCOUNT": "Add Agent to SMS Account",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"DOWNLOAD_WITH_ATTACHMENT": "Download with attachment",
+		"DOWNLOAD_WITHOUT_ATTACHMENT": "Download without attachment"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/staff/i18n/cs.json b/public/app/main/apps/staff/i18n/cs.json
new file mode 100644
index 0000000..ea64d6b
--- /dev/null
+++ b/public/app/main/apps/staff/i18n/cs.json
@@ -0,0 +1,353 @@
+{
+	"STAFF": {
+		"HOTDESK": "Hot desk",
+		"ENABLEVIDEORECORDING": "Enable Video Recording",
+		"OLD_PASSWORD": "Old Password",
+		"ENABLEJAWSINTEGRATION": "Enable Jaws Integration",
+		"ALIAS": "Alias",
+		"NO_PASSWORD_CHANGE": "No Password Change",
+		"SECURITY_SUITE": "Security Suite",
+		"LAST_PASSWORD_RESET_AT": "Last Password Reset At",
+		"SIP_WEBRTC": "Sip",
+		"SETTINGS_WEBRTC": "Settings",
+		"WEBRTC": "WebRTC",
+		"DTLSCERTFILE": "TLS certificate",
+		"DTLSPRIVATEKEY": "TLS certificate's private key",
+		"CONTEXT": "Context",
+		"RINGINUSE": "Ring In Use",
+		"USERS": "Users",
+		"AGENTS": "Agents",
+		"TOGGLE_SIDENAV": "Toggle sidenav",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"MULTI_SELECT_TOGGLE": "multi select toggle",
+		"SELECT_ALL": "Select all",
+		"SELECT_NONE": "Select None",
+		"SELECTED": "Selected",
+		"DELETE_SELECTED": "Delete selected",
+		"EXPORT_SELECTED": "Export selected",
+		"ALL_USERS": "All users",
+		"ALL_AGENTS": "All agents",
+		"SORT": "sort",
+		"NAME": "Name",
+		"FULLNAME": "Full Name",
+		"A_TO_Z": "(A to Z)",
+		"Z_TO_A": "(Z to A)",
+		"MORE": "More",
+		"DELETE_USER": "Delete User",
+		"EDIT_USER": "Edit User",
+		"DELETE_AGENT": "Delete Agent",
+		"EDIT_AGENT": "Edit Agent",
+		"DELETE": "DELETE",
+		"SAVE": "SAVE",
+		"ADD_USER": "ADD USER",
+		"ADD_AGENT": "ADD AGENT",
+		"NO_RESULTS": "No results..",
+		"CLOSE_DIALOG": "Close dialog",
+		"NAME_REQUIRED": "Name (required)",
+		"USERNAME": "Username",
+		"SHOW_ALL_FIELDS": "Show All Fields",
+		"PHONE_NUMBER": "Phone number",
+		"EMAIL": "Email",
+		"PASSWORD": "Password",
+		"ERRORS": {
+			"ALLOWCODECS_REQUIRED": "Mandatory field",
+			"ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
+			"DTLSCERTFILE_REQUIRED": "Mandatory field",
+			"DTLSPRIVATEKEY_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"ACCOUNTNAME_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"CHATCAPACITY_REQUIRED": "Mandatory field",
+			"MAILCAPACITY_REQUIRED": "Mandatory field",
+			"FAXCAPACITY_REQUIRED": "Mandatory field",
+			"SMSCAPACITY_REQUIRED": "Mandatory field",
+			"OPENCHANNELCAPACITY_REQUIRED": "Mandatory field",
+			"SIPEXPIRES_REQUIRED": "Mandatory field",
+			"SIPPORT_REQUIRED": "Mandatory field",
+			"UNCONDITIONALNUMBER_REQUIRED": "Mandatory field",
+			"NOREPLYNUMBER_REQUIRED": "Mandatory field",
+			"BUSYNUMBER_REQUIRED": "Mandatory field",
+			"USERNAME_MUST_VALID_PATTERN": "Wrong format {{regex}}",
+			"REMOTECONTROLPORT_REQUIRED": "Mandatory field",
+			"CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AUTOANSWERDELAY_REQUIRED": "Mandatory field",
+			"MONITOREXTENSION_REQUIRED": "Mandatory field",
+			"SECURE_PASSWORD_PATTERN": "The password must be at least 8 characters long and have 1 lowercase character, 1 uppercase character, 1 number and 1 special character ~!?*@#$%^&-_=+[{]}.",
+			"CONFIRM_REQUIRED": "Povinné pole",
+			"CRUDPERMISSIONS_REQUIRED": "Povinné pole",
+			"PASSWORD_OLDPASSWORD_MATCH": "Nové heslo se musí lišit od předchozího",
+			"USERPROFILE_REQUIRED": "Povinné pole",
+			"WHATSAPPCAPACITY_REQUIRED": "Povinné pole"
+		},
+		"ACCOUNT": "Account",
+		"VOICE": "Voice",
+		"CREATED_AT": "Created At",
+		"ROLE": "Role",
+		"PERSONAL_INFO": "Personal Info",
+		"DESCRIPTION": "Description",
+		"CHANGE_AVATAR": "Change Avatar",
+		"GENERAL": "General",
+		"INTERNAL": "Internal",
+		"TRANSPORT": "Transport",
+		"ALLOWCODECS": "Allowed Codecs",
+		"HELP": {
+			"LAST_PASSWORD_RESET_AT": "Last date and time the password has been changed. If Secure Suite General Setting is enabled, the password will expire after 90 days.",
+			"DTLSCERTFILE": "Link to the valid TLS certificate(.crt file). Default value: '/etc/pki/tls/certs/motion.crt'.",
+			"DTLSPRIVATEKEY": "Link to the certificate's private key(.key file). Default value: '/etc/pki/tls/private/motion.key'.",
+			"ALLOWCODECS": "Allowed Codecs in order of preference",
+			"TRANSPORT": "Set the default transports in order of preference",
+			"HOST": "How to find the client - IP or host name. If you want the phone to register itself, use the keyword dynamic instead of Host IP",
+			"NAT": "Changes the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore other settings and set nat=no",
+			"SIPEXPIRES": "Default: 160",
+			"SIPPORT": "Default: 5060",
+			"TYPE": "Determines the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above",
+			"CHATCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"MAILCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"FAXCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"SMSCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"OPENCHANNELCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"CALLGROUP": "The agent's callgroup",
+			"PICKUPGROUP": "The groups in which the agent can answer calls",
+			"USERNAME": "Only numbers, letters and specific characters (._) are supported",
+			"ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
+			"APIKEY": "Ke správě tohoto klíče použijte tlačítko „Správce klíčů API“ na panelu nástrojů",
+			"BLOCKED": "Zamknout / odemknout přístup",
+			"CUSTOM_DASHBOARDS_PERMISSIONS": "Oprávnění vlastních řídicích panelů jsou spravována v modulu Nástroje",
+			"DISABLED": "vyberte pro deaktivaci / deaktivaci pro opětovnou aktivaci",
+			"ENABLEAUTOMATICSCREENRECORDING": "Funkce je k dispozici pouze pro hlasový kanál",
+			"SAVE_PERMISSIONS": "Každá sekce obsahující všechny čekající změny bude uložena",
+			"WHATSAPPCAPACITY": "Maximální počet souběžných interakcí kanálu na agenta (0 = neomezeno)"
+		},
+		"NEW_PASSWORD": "New Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"CHANGE_PASSWORD": "Change Password",
+		"CHANGEPASSWORD_AGENT": "Change Password",
+		"CHANGEPASSWORD_USER": "Change Password",
+		"CHANGEPASSWORD_TELEPHONE": "Change Password",
+		"LOGININPAUSE": "Login In Pause",
+		"HOST": "Host",
+		"NAT": "NAT",
+		"CHANSPY": "ChanSpy",
+		"OTHER_CHANNELS": "Other Channels",
+		"CHATCAPACITY": "Chat Capacity",
+		"MAILCAPACITY": "Email Capacity",
+		"FAXCAPACITY": "Fax Capacity",
+		"SMSCAPACITY": "Sms Capacity",
+		"OPENCHANNELCAPACITY": "Open Channel Capacity",
+		"MOTIONBAR": "Motion Bar",
+		"SETTINGS": "Settings",
+		"AUTOANSWER": "Auto Answer",
+		"ENABLESETTINGS": "Enable Settings",
+		"CALL_FORWARDING": "Call Forwarding",
+		"UNCONDITIONAL": "Unconditional",
+		"UNCONDITIONALNUMBER": "Unconditional Number",
+		"NOREPLY": "No Reply",
+		"NOREPLYNUMBER": "No Reply Number",
+		"BUSY": "Busy",
+		"BUSYNUMBER": "Busy Number",
+		"REMOTE_CONTROL": "Remote Control",
+		"REMOTECONTROL": "Remote Control",
+		"REMOTECONTROLPORT": "Remote Control Port",
+		"SIP": "SIP",
+		"SIPEXPIRES": "SIP Expires [sec]",
+		"SIPPORT": "SIP Port",
+		"PENALTY": "Penalty",
+		"ACCOUNTNAME": "Account Name",
+		"ADD_TELEPHONE": "Add Telephone",
+		"EDIT_TELEPHONE": "Edit Telephone",
+		"DELETE_TELEPHONE": "Delete Telephone",
+		"TEAMS": "Teams",
+		"DELETE_TEAM": "Delete Team",
+		"AGENTADD_TEAM": "Add Agents to Team",
+		"EDIT_TEAM": "Edit Team",
+		"TYPE": "Type",
+		"TELEPHONES": "Telephones",
+		"CALLERID": "Caller ID",
+		"ENABLERECORDING": "Enable Recording",
+		"STAFF": "Staff",
+		"ID": "Id",
+		"NEW_USER": "New User",
+		"NEW_AGENT": "New Agent",
+		"NEW_TELEPHONE": "New Telephone",
+		"NEW_TEAM": "New Team",
+		"ADD_TEAM": "Add Team",
+		"JOIN_QUEUE": "Join Queue",
+		"CAPACITY": "Capacity",
+		"AUTOINTERNAL": "Auto generate internal number",
+		"ADD_AGENT_TO_TEAM": "Add Agent to Team",
+		"TEAMADD_AGENT": "Add Agent to Team",
+		"NO_AVAILABLE_INFO": "No available info",
+		"PERMISSIONS": "Permissions",
+		"ADD_AGENT_TO_QUEUE": "Add Agent to Queue",
+		"ALL_MODULES_AVAILABLE": "All modules available",
+		"CALLGROUP": "Call Group",
+		"PICKUPGROUP": "Pickup Group",
+		"QUEUEADD_AGENT_VOICE_OUTBOUND": "Add Agent to Queue Campaigns",
+		"QUEUEADD_AGENT_VOICE_INBOUND": "Add Agent to Voice Queues",
+		"QUEUEADD_AGENT_CHAT_INBOUND": "Add Agent to Chat Queues",
+		"QUEUEADD_AGENT_MAIL_INBOUND": "Add Agent to Email Queues",
+		"QUEUEADD_AGENT_SMS_INBOUND": "Add Agent to SMS Queues",
+		"QUEUEADD_AGENT_OPENCHANNEL_INBOUND": "Add Agent to Open Channel Queues",
+		"QUEUEADD_AGENT_FAX_INBOUND": "Add Agent to Fax Queues",
+		"QUEUEADD_USER_VOICE_INBOUND": "Add User to Voice Queues",
+		"QUEUEADD_USER_CHAT_INBOUND": "Add User to Chat Queues",
+		"QUEUEADD_USER_MAIL_INBOUND": "Add User to Email Queues",
+		"QUEUEADD_USER_SMS_INBOUND": "Add User to SMS Queues",
+		"QUEUEADD_USER_OPENCHANNEL_INBOUND": "Add User to Open Channel Queues",
+		"QUEUEADD_USER_FAX_INBOUND": "Add User to Fax Queues",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"SELECTED_AGENTS": "Selected Agents",
+		"ALL_QUEUES_VOICE_OUTBOUND": "All Queue Campaigns",
+		"SELECTED_QUEUES_VOICE_OUTBOUND": "Selected Queue Campaigns",
+		"ALL_QUEUES_VOICE_INBOUND": "All Voice Queues",
+		"SELECTED_QUEUES_VOICE_INBOUND": "Selected Voice Queues",
+		"ALL_QUEUES_CHAT_INBOUND": "All Chat Queues",
+		"SELECTED_QUEUES_CHAT_INBOUND": "Selected Chat Queues",
+		"ALL_QUEUES_MAIL_INBOUND": "All Email Queues",
+		"SELECTED_QUEUES_MAIL_INBOUND": "Selected Email Queues",
+		"ALL_QUEUES_SMS_INBOUND": "All SMS Queues",
+		"SELECTED_QUEUES_SMS_INBOUND": "Selected SMS Queues",
+		"ALL_QUEUES_OPENCHANNEL_INBOUND": "All Open Channel Queues",
+		"SELECTED_QUEUES_OPENCHANNEL_INBOUND": "Selected Open Channel Queues",
+		"ALL_QUEUES_FAX_INBOUND": "All Fax Queues",
+		"SELECTED_QUEUES_FAX_INBOUND": "Selected Fax Queues",
+		"VOICEMAIL": "Voicemail",
+		"SHOWWEBCONTROL": "Typology",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CALLFORWARDING": "Call Forwarding",
+		"DND": "Do not disturb during pause",
+		"UNANSWEREDCALLBADGE": "Show unanswered call badge",
+		"ENABLEDTMFTONE": "Enable Dtmf tones",
+		"AUTOANSWERDELAY": "Auto Answer Delay [s]",
+		"ENCRYPTION": "Encryption",
+		"CHANNELS": "Channels",
+		"CHAT": "Chat",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"QUEUEADD_USER_VOICE_OUTBOUND": "Add User to Queue Campaigns",
+		"MONITOREXTENSION": "Record calls to user extension",
+		"EDITPERMISSIONS": "Editing Permissions",
+		"READANDEDIT": "Read, Edit",
+		"READANDEDITANDDELETE": "Read, Edit, Delete",
+		"GENERAL_PERMISSIONS": "General",
+		"ENABLEMESSENGER": "Enable Internal Messenger",
+		"OUTBOUNDPROXY": "Oubound Proxy",
+		"PHONE": "Phone",
+		"MOBILE": "Mobile",
+		"PREFIXREQUIRED": "Prefix Required",
+		"MANAGE_PERMISSIONS": "Manage Permissions",
+		"USERADD_VOICEQUEUES": "Add Voice Queue to User",
+		"ALL_VOICEQUEUES": "All Voice Queues",
+		"SELECTED_VOICEQUEUES": "Selected Voice Queues",
+		"USERADD_CHATQUEUES": "Add Chat Queue to User",
+		"ALL_CHATQUEUES": "All Chat Queues",
+		"SELECTED_CHATQUEUES": "Selected Email Queues",
+		"USERADD_MAILQUEUES": "Add Email Queue to User",
+		"ALL_MAILQUEUES": "All Email Queues",
+		"SELECTED_MAILQUEUES": "Selected Chat Queues",
+		"USERADD_SMSQUEUES": "Add SMS Queue to User",
+		"ALL_SMSQUEUES": "All SMS Queues",
+		"SELECTED_SMSQUEUES": "Selected SMS Queues",
+		"USERADD_FAXQUEUES": "Add Fax Queue to User",
+		"ALL_FAXQUEUES": "All Fax Queues",
+		"SELECTED_FAXQUEUES": "Selected Fax Queues",
+		"USERADD_OPENCHANNELQUEUES": "Add Open Channel Queue to User",
+		"ALL_OPENCHANNELQUEUES": "All Open Channel Queues",
+		"SELECTED_OPENCHANNELQUEUES": "Selected Open Channel Queues",
+		"USERADD_PROJECTS": "Add Cally Square Project to User",
+		"ALL_PROJECTS": "All Cally Square Projects",
+		"SELECTED_PROJECTS": "Selected Cally Square Projects",
+		"USERADD_CHATWEBSITES": "Add Chat Website to User",
+		"ALL_CHATWEBSITES": "All Chat Websites",
+		"SELECTED_CHATWEBSITES": "Selected Chat Websites",
+		"USERADD_QUEUECAMPAIGNS": "Add Queue Campaign to User",
+		"ALL_QUEUECAMPAIGNS": "All Queue Campaigns",
+		"SELECTED_QUEUECAMPAIGNS": "Selected Queue Campaigns",
+		"USERADD_MAILACCOUNTS": "Add Email Account to User",
+		"ALL_MAILACCOUNTS": "All Email Accounts",
+		"SELECTED_MAILACCOUNTS": "Selected Email Accounts",
+		"USERADD_FAXACCOUNTS": "Add Fax Account to User",
+		"ALL_FAXACCOUNTS": "All Fax Accounts",
+		"SELECTED_FAXACCOUNTS": "Selected Fax Accounts",
+		"USERADD_SMSACCOUNTS": "Add SMS Account to User",
+		"ALL_SMSACCOUNTS": "All SMS Accounts",
+		"SELECTED_SMSACCOUNTS": "Selected SMS Accounts",
+		"USERADD_OPENCHANNELACCOUNTS": "Add Open Channel Account to User",
+		"ALL_OPENCHANNELACCOUNTS": "All Open Channel Accounts",
+		"SELECTED_OPENCHANNELACCOUNTS": "Selected Open Channel Accounts",
+		"ADD_USERPROFILE": "Přidat uživatelský profil",
+		"ALL_QUEUES_WHATSAPP_INBOUND": "Všechny fronty WhatsApp",
+		"ALL_WHATSAPPACCOUNTS": "Všechny účty WhatsApp",
+		"ALL_WHATSAPPQUEUES": "Všechny fronty Whataspp",
+		"APIKEY": "Klíč API",
+		"APIKEYMANAGER_USER": "Správce klíčů API",
+		"BLOCKED": "Zamčené",
+		"CANCEL": "zrušení",
+		"CLONE_USERPROFILE": "Klonovat uživatelský profil",
+		"CLOSE": "Zavřít",
+		"CONFIRM": "Potvrdit",
+		"CRUDPERMISSIONS": "Typ povolení",
+		"DELETE_PERMISSION": "Vymazat",
+		"DELETE_USERPROFILE": "Smazat uživatelský profil",
+		"DISABLED": "Deaktivováno",
+		"EDIT_PERMISSION": "Upravit",
+		"EDIT_USERPROFILE": "Upravit uživatelský profil",
+		"ENABLEAUTOMATICSCREENRECORDING": "Povolit automatické nahrávání obrazovky",
+		"ENABLESCREENRECORDINGBYAGENT": "Povolit nahrávání obrazovky agentem",
+		"ENABLEVIDEOECORDING": "Povolit nahrávání videa",
+		"GENERATE": "generovat",
+		"MANAGE_API_KEY": "Správce klíčů API",
+		"MODULES": "Moduly",
+		"NEW_USERPROFILE": "Nový uživatelský profil",
+		"PERMISSIONS_ALL_RESOURCES": "Všechny zdroje",
+		"PERMISSIONS_AUTO_ASSOCIATION_INFO": "Automaticky přiřadí každý aktuální a budoucí zdroj této sekce k profilu uživatele",
+		"PERMISSIONS_MANAGE": "Spravovat",
+		"PERMISSIONS_PLACEHOLDER_SEARCH": "Vyhledávání...",
+		"PERMISSIONS_SECTION_HIDE": "Skrýt sekci pro uživatele",
+		"PERMISSIONS_SECTION_SHOW": "Zobrazit sekci uživateli",
+		"PERMISSIONS_SECTION_TITLE": "{{sectionName}} Oprávnění",
+		"PERMISSIONS_SELECTED_RESOURCES": "Vybrané zdroje",
+		"PERMISSIONS_SELECT_REPORT_TYPE": "Vyberte typ zprávy",
+		"PERMISSIONS_SELECT_SECTION": "Vyberte sekci",
+		"PERMISSIONS_UNAUTHORIZED_CREATION_MESSAGE": "Není dovoleno vytvořit zdroj",
+		"PERMISSIONS_UNAUTHORIZED_REDIRECT_MESSAGE": "Do vybrané sekce nemáte povolen přístup",
+		"PERMISSIONS_UNAUTHORIZED_REDIRECT_TITLE": "Neoprávněné jednání",
+		"PERMISSIONS_WARNING_CLOSE": "Máte neuložené změny. Opravdu chcete ukončit bez uložení?",
+		"PERMISSIONS_WARNING_ENABLE_ALL": "Všechny {{sectionName}} subsekce a jejich zdroje budou povoleny. Jste si jistý, že chcete pokračovat?",
+		"QUEUEADD_AGENT_WHATSAPP_INBOUND": "Přidejte agenta do front WhatsApp",
+		"QUEUEADD_USER_WHATSAPP_INBOUND": "Přidat uživatele do front WhatsApp",
+		"QUEUES_ASSOCIATION": "{{channel}} Asociace front",
+		"READ_PERMISSION": "Číst",
+		"REGENERATE": "Regenerovat",
+		"REMOVE": "Odstranit",
+		"REPORT_TYPE": "Typ přehledu",
+		"SECTIONS": "Sekce",
+		"SELECTED_QUEUES_WHATSAPP_INBOUND": "Vybrané fronty WhatsApp",
+		"SELECTED_WHATSAPPACCOUNTS": "Vybrané účty WhatsApp",
+		"SELECTED_WHATSAPPQUEUES": "Vybrané fronty WhatsApp",
+		"SUMMARY": "souhrn",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"USERADD_WHATSAPPACCOUNTS": "Přidat účet WhatsApp k uživateli",
+		"USERADD_WHATSAPPQUEUES": "Přidání fronty Whataspp uživateli",
+		"USERPROFILE": "Uživatelský profil",
+		"USERPROFILES": "Uživatelské profily",
+		"VIDEOSUPPORT": "Video podpora",
+		"WHATSAPP": "WhatsApp Connector",
+		"WHATSAPPCAPACITY": "Kapacita konektoru WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/staff/i18n/et.json b/public/app/main/apps/staff/i18n/et.json
new file mode 100644
index 0000000..8ab333f
--- /dev/null
+++ b/public/app/main/apps/staff/i18n/et.json
@@ -0,0 +1,353 @@
+{
+	"STAFF": {
+		"HOTDESK": "Hot desk",
+		"ENABLEVIDEORECORDING": "Enable Video Recording",
+		"OLD_PASSWORD": "Old Password",
+		"ENABLEJAWSINTEGRATION": "Enable Jaws Integration",
+		"ALIAS": "Alias",
+		"NO_PASSWORD_CHANGE": "No Password Change",
+		"SECURITY_SUITE": "Security Suite",
+		"LAST_PASSWORD_RESET_AT": "Last Password Reset At",
+		"SIP_WEBRTC": "Sip",
+		"SETTINGS_WEBRTC": "Settings",
+		"WEBRTC": "WebRTC",
+		"DTLSCERTFILE": "TLS certificate",
+		"DTLSPRIVATEKEY": "TLS certificate's private key",
+		"CONTEXT": "Context",
+		"RINGINUSE": "Ring In Use",
+		"USERS": "Users",
+		"AGENTS": "Agents",
+		"TOGGLE_SIDENAV": "Toggle sidenav",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"MULTI_SELECT_TOGGLE": "multi select toggle",
+		"SELECT_ALL": "Select all",
+		"SELECT_NONE": "Select None",
+		"SELECTED": "Selected",
+		"DELETE_SELECTED": "Delete selected",
+		"EXPORT_SELECTED": "Export selected",
+		"ALL_USERS": "All users",
+		"ALL_AGENTS": "All agents",
+		"SORT": "sort",
+		"NAME": "Name",
+		"FULLNAME": "Full Name",
+		"A_TO_Z": "(A to Z)",
+		"Z_TO_A": "(Z to A)",
+		"MORE": "More",
+		"DELETE_USER": "Delete User",
+		"EDIT_USER": "Edit User",
+		"DELETE_AGENT": "Delete Agent",
+		"EDIT_AGENT": "Edit Agent",
+		"DELETE": "DELETE",
+		"SAVE": "SAVE",
+		"ADD_USER": "ADD USER",
+		"ADD_AGENT": "ADD AGENT",
+		"NO_RESULTS": "No results..",
+		"CLOSE_DIALOG": "Close dialog",
+		"NAME_REQUIRED": "Name (required)",
+		"USERNAME": "Username",
+		"SHOW_ALL_FIELDS": "Show All Fields",
+		"PHONE_NUMBER": "Phone number",
+		"EMAIL": "Email",
+		"PASSWORD": "Password",
+		"ERRORS": {
+			"ALLOWCODECS_REQUIRED": "Mandatory field",
+			"ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
+			"DTLSCERTFILE_REQUIRED": "Mandatory field",
+			"DTLSPRIVATEKEY_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"ACCOUNTNAME_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"CHATCAPACITY_REQUIRED": "Mandatory field",
+			"MAILCAPACITY_REQUIRED": "Mandatory field",
+			"FAXCAPACITY_REQUIRED": "Mandatory field",
+			"SMSCAPACITY_REQUIRED": "Mandatory field",
+			"OPENCHANNELCAPACITY_REQUIRED": "Mandatory field",
+			"SIPEXPIRES_REQUIRED": "Mandatory field",
+			"SIPPORT_REQUIRED": "Mandatory field",
+			"UNCONDITIONALNUMBER_REQUIRED": "Mandatory field",
+			"NOREPLYNUMBER_REQUIRED": "Mandatory field",
+			"BUSYNUMBER_REQUIRED": "Mandatory field",
+			"USERNAME_MUST_VALID_PATTERN": "Wrong format {{regex}}",
+			"REMOTECONTROLPORT_REQUIRED": "Mandatory field",
+			"CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AUTOANSWERDELAY_REQUIRED": "Mandatory field",
+			"MONITOREXTENSION_REQUIRED": "Mandatory field",
+			"SECURE_PASSWORD_PATTERN": "The password must be at least 8 characters long and have 1 lowercase character, 1 uppercase character, 1 number and 1 special character ~!?*@#$%^&-_=+[{]}.",
+			"CONFIRM_REQUIRED": "Kohustuslik väli",
+			"CRUDPERMISSIONS_REQUIRED": "Kohustuslik väli",
+			"PASSWORD_OLDPASSWORD_MATCH": "Uus parool peab erinema eelmisest",
+			"USERPROFILE_REQUIRED": "Kohustuslik väli",
+			"WHATSAPPCAPACITY_REQUIRED": "Kohustuslik väli"
+		},
+		"ACCOUNT": "Account",
+		"VOICE": "Voice",
+		"CREATED_AT": "Created At",
+		"ROLE": "Role",
+		"PERSONAL_INFO": "Personal Info",
+		"DESCRIPTION": "Description",
+		"CHANGE_AVATAR": "Change Avatar",
+		"GENERAL": "General",
+		"INTERNAL": "Internal",
+		"TRANSPORT": "Transport",
+		"ALLOWCODECS": "Allowed Codecs",
+		"HELP": {
+			"LAST_PASSWORD_RESET_AT": "Last date and time the password has been changed. If Secure Suite General Setting is enabled, the password will expire after 90 days.",
+			"DTLSCERTFILE": "Link to the valid TLS certificate(.crt file). Default value: '/etc/pki/tls/certs/motion.crt'.",
+			"DTLSPRIVATEKEY": "Link to the certificate's private key(.key file). Default value: '/etc/pki/tls/private/motion.key'.",
+			"ALLOWCODECS": "Allowed Codecs in order of preference",
+			"TRANSPORT": "Set the default transports in order of preference",
+			"HOST": "How to find the client - IP or host name. If you want the phone to register itself, use the keyword dynamic instead of Host IP",
+			"NAT": "Changes the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore other settings and set nat=no",
+			"SIPEXPIRES": "Default: 160",
+			"SIPPORT": "Default: 5060",
+			"TYPE": "Determines the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above",
+			"CHATCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"MAILCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"FAXCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"SMSCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"OPENCHANNELCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"CALLGROUP": "The agent's callgroup",
+			"PICKUPGROUP": "The groups in which the agent can answer calls",
+			"USERNAME": "Only numbers, letters and specific characters (._) are supported",
+			"ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
+			"APIKEY": "Selle võtme haldamiseks kasutage tööriistaribal nuppu „API võtmehaldur”",
+			"BLOCKED": "Juurdepääsu lukustamine / avamine",
+			"CUSTOM_DASHBOARDS_PERMISSIONS": "Kohandatud juhtpaneelide õigusi hallatakse moodulis Tööriistad",
+			"DISABLED": "valige uuesti deaktiveerimiseks deaktiveerimine / tühistamine",
+			"ENABLEAUTOMATICSCREENRECORDING": "Funktsioon on saadaval ainult häälkanalite jaoks",
+			"SAVE_PERMISSIONS": "Kõik sektsioonid, mis sisaldavad ootel muudatusi, salvestatakse",
+			"WHATSAPPCAPACITY": "Maksimaalne samaaegsete kanalite interaktsioonide arv agendi kohta (0 = piiramatu)"
+		},
+		"NEW_PASSWORD": "New Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"CHANGE_PASSWORD": "Change Password",
+		"CHANGEPASSWORD_AGENT": "Change Password",
+		"CHANGEPASSWORD_USER": "Change Password",
+		"CHANGEPASSWORD_TELEPHONE": "Change Password",
+		"LOGININPAUSE": "Login In Pause",
+		"HOST": "Host",
+		"NAT": "NAT",
+		"CHANSPY": "ChanSpy",
+		"OTHER_CHANNELS": "Other Channels",
+		"CHATCAPACITY": "Chat Capacity",
+		"MAILCAPACITY": "Email Capacity",
+		"FAXCAPACITY": "Fax Capacity",
+		"SMSCAPACITY": "Sms Capacity",
+		"OPENCHANNELCAPACITY": "Open Channel Capacity",
+		"MOTIONBAR": "Motion Bar",
+		"SETTINGS": "Settings",
+		"AUTOANSWER": "Auto Answer",
+		"ENABLESETTINGS": "Enable Settings",
+		"CALL_FORWARDING": "Call Forwarding",
+		"UNCONDITIONAL": "Unconditional",
+		"UNCONDITIONALNUMBER": "Unconditional Number",
+		"NOREPLY": "No Reply",
+		"NOREPLYNUMBER": "No Reply Number",
+		"BUSY": "Busy",
+		"BUSYNUMBER": "Busy Number",
+		"REMOTE_CONTROL": "Remote Control",
+		"REMOTECONTROL": "Remote Control",
+		"REMOTECONTROLPORT": "Remote Control Port",
+		"SIP": "SIP",
+		"SIPEXPIRES": "SIP Expires [sec]",
+		"SIPPORT": "SIP Port",
+		"PENALTY": "Penalty",
+		"ACCOUNTNAME": "Account Name",
+		"ADD_TELEPHONE": "Add Telephone",
+		"EDIT_TELEPHONE": "Edit Telephone",
+		"DELETE_TELEPHONE": "Delete Telephone",
+		"TEAMS": "Teams",
+		"DELETE_TEAM": "Delete Team",
+		"AGENTADD_TEAM": "Add Agents to Team",
+		"EDIT_TEAM": "Edit Team",
+		"TYPE": "Type",
+		"TELEPHONES": "Telephones",
+		"CALLERID": "Caller ID",
+		"ENABLERECORDING": "Enable Recording",
+		"STAFF": "Staff",
+		"ID": "Id",
+		"NEW_USER": "New User",
+		"NEW_AGENT": "New Agent",
+		"NEW_TELEPHONE": "New Telephone",
+		"NEW_TEAM": "New Team",
+		"ADD_TEAM": "Add Team",
+		"JOIN_QUEUE": "Join Queue",
+		"CAPACITY": "Capacity",
+		"AUTOINTERNAL": "Auto generate internal number",
+		"ADD_AGENT_TO_TEAM": "Add Agent to Team",
+		"TEAMADD_AGENT": "Add Agent to Team",
+		"NO_AVAILABLE_INFO": "No available info",
+		"PERMISSIONS": "Permissions",
+		"ADD_AGENT_TO_QUEUE": "Add Agent to Queue",
+		"ALL_MODULES_AVAILABLE": "All modules available",
+		"CALLGROUP": "Call Group",
+		"PICKUPGROUP": "Pickup Group",
+		"QUEUEADD_AGENT_VOICE_OUTBOUND": "Add Agent to Queue Campaigns",
+		"QUEUEADD_AGENT_VOICE_INBOUND": "Add Agent to Voice Queues",
+		"QUEUEADD_AGENT_CHAT_INBOUND": "Add Agent to Chat Queues",
+		"QUEUEADD_AGENT_MAIL_INBOUND": "Add Agent to Email Queues",
+		"QUEUEADD_AGENT_SMS_INBOUND": "Add Agent to SMS Queues",
+		"QUEUEADD_AGENT_OPENCHANNEL_INBOUND": "Add Agent to Open Channel Queues",
+		"QUEUEADD_AGENT_FAX_INBOUND": "Add Agent to Fax Queues",
+		"QUEUEADD_USER_VOICE_INBOUND": "Add User to Voice Queues",
+		"QUEUEADD_USER_CHAT_INBOUND": "Add User to Chat Queues",
+		"QUEUEADD_USER_MAIL_INBOUND": "Add User to Email Queues",
+		"QUEUEADD_USER_SMS_INBOUND": "Add User to SMS Queues",
+		"QUEUEADD_USER_OPENCHANNEL_INBOUND": "Add User to Open Channel Queues",
+		"QUEUEADD_USER_FAX_INBOUND": "Add User to Fax Queues",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"SELECTED_AGENTS": "Selected Agents",
+		"ALL_QUEUES_VOICE_OUTBOUND": "All Queue Campaigns",
+		"SELECTED_QUEUES_VOICE_OUTBOUND": "Selected Queue Campaigns",
+		"ALL_QUEUES_VOICE_INBOUND": "All Voice Queues",
+		"SELECTED_QUEUES_VOICE_INBOUND": "Selected Voice Queues",
+		"ALL_QUEUES_CHAT_INBOUND": "All Chat Queues",
+		"SELECTED_QUEUES_CHAT_INBOUND": "Selected Chat Queues",
+		"ALL_QUEUES_MAIL_INBOUND": "All Email Queues",
+		"SELECTED_QUEUES_MAIL_INBOUND": "Selected Email Queues",
+		"ALL_QUEUES_SMS_INBOUND": "All SMS Queues",
+		"SELECTED_QUEUES_SMS_INBOUND": "Selected SMS Queues",
+		"ALL_QUEUES_OPENCHANNEL_INBOUND": "All Open Channel Queues",
+		"SELECTED_QUEUES_OPENCHANNEL_INBOUND": "Selected Open Channel Queues",
+		"ALL_QUEUES_FAX_INBOUND": "All Fax Queues",
+		"SELECTED_QUEUES_FAX_INBOUND": "Selected Fax Queues",
+		"VOICEMAIL": "Voicemail",
+		"SHOWWEBCONTROL": "Typology",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CALLFORWARDING": "Call Forwarding",
+		"DND": "Do not disturb during pause",
+		"UNANSWEREDCALLBADGE": "Show unanswered call badge",
+		"ENABLEDTMFTONE": "Enable Dtmf tones",
+		"AUTOANSWERDELAY": "Auto Answer Delay [s]",
+		"ENCRYPTION": "Encryption",
+		"CHANNELS": "Channels",
+		"CHAT": "Chat",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"QUEUEADD_USER_VOICE_OUTBOUND": "Add User to Queue Campaigns",
+		"MONITOREXTENSION": "Record calls to user extension",
+		"EDITPERMISSIONS": "Editing Permissions",
+		"READANDEDIT": "Read, Edit",
+		"READANDEDITANDDELETE": "Read, Edit, Delete",
+		"GENERAL_PERMISSIONS": "General",
+		"ENABLEMESSENGER": "Enable Internal Messenger",
+		"OUTBOUNDPROXY": "Oubound Proxy",
+		"PHONE": "Phone",
+		"MOBILE": "Mobile",
+		"PREFIXREQUIRED": "Prefix Required",
+		"MANAGE_PERMISSIONS": "Manage Permissions",
+		"USERADD_VOICEQUEUES": "Add Voice Queue to User",
+		"ALL_VOICEQUEUES": "All Voice Queues",
+		"SELECTED_VOICEQUEUES": "Selected Voice Queues",
+		"USERADD_CHATQUEUES": "Add Chat Queue to User",
+		"ALL_CHATQUEUES": "All Chat Queues",
+		"SELECTED_CHATQUEUES": "Selected Email Queues",
+		"USERADD_MAILQUEUES": "Add Email Queue to User",
+		"ALL_MAILQUEUES": "All Email Queues",
+		"SELECTED_MAILQUEUES": "Selected Chat Queues",
+		"USERADD_SMSQUEUES": "Add SMS Queue to User",
+		"ALL_SMSQUEUES": "All SMS Queues",
+		"SELECTED_SMSQUEUES": "Selected SMS Queues",
+		"USERADD_FAXQUEUES": "Add Fax Queue to User",
+		"ALL_FAXQUEUES": "All Fax Queues",
+		"SELECTED_FAXQUEUES": "Selected Fax Queues",
+		"USERADD_OPENCHANNELQUEUES": "Add Open Channel Queue to User",
+		"ALL_OPENCHANNELQUEUES": "All Open Channel Queues",
+		"SELECTED_OPENCHANNELQUEUES": "Selected Open Channel Queues",
+		"USERADD_PROJECTS": "Add Cally Square Project to User",
+		"ALL_PROJECTS": "All Cally Square Projects",
+		"SELECTED_PROJECTS": "Selected Cally Square Projects",
+		"USERADD_CHATWEBSITES": "Add Chat Website to User",
+		"ALL_CHATWEBSITES": "All Chat Websites",
+		"SELECTED_CHATWEBSITES": "Selected Chat Websites",
+		"USERADD_QUEUECAMPAIGNS": "Add Queue Campaign to User",
+		"ALL_QUEUECAMPAIGNS": "All Queue Campaigns",
+		"SELECTED_QUEUECAMPAIGNS": "Selected Queue Campaigns",
+		"USERADD_MAILACCOUNTS": "Add Email Account to User",
+		"ALL_MAILACCOUNTS": "All Email Accounts",
+		"SELECTED_MAILACCOUNTS": "Selected Email Accounts",
+		"USERADD_FAXACCOUNTS": "Add Fax Account to User",
+		"ALL_FAXACCOUNTS": "All Fax Accounts",
+		"SELECTED_FAXACCOUNTS": "Selected Fax Accounts",
+		"USERADD_SMSACCOUNTS": "Add SMS Account to User",
+		"ALL_SMSACCOUNTS": "All SMS Accounts",
+		"SELECTED_SMSACCOUNTS": "Selected SMS Accounts",
+		"USERADD_OPENCHANNELACCOUNTS": "Add Open Channel Account to User",
+		"ALL_OPENCHANNELACCOUNTS": "All Open Channel Accounts",
+		"SELECTED_OPENCHANNELACCOUNTS": "Selected Open Channel Accounts",
+		"ADD_USERPROFILE": "Lisage kasutaja profiil",
+		"ALL_QUEUES_WHATSAPP_INBOUND": "Kõik WhatsApi järjekorrad",
+		"ALL_WHATSAPPACCOUNTS": "Kõik WhatsApi kontod",
+		"ALL_WHATSAPPQUEUES": "Kõik Whataspi järjekorrad",
+		"APIKEY": "API-võti",
+		"APIKEYMANAGER_USER": "API võtmehaldur",
+		"BLOCKED": "Lukustatud",
+		"CANCEL": "Tühista",
+		"CLONE_USERPROFILE": "Kloonide kasutaja profiil",
+		"CLOSE": "Sulge",
+		"CONFIRM": "Kinnitage",
+		"CRUDPERMISSIONS": "Loa tüüp",
+		"DELETE_PERMISSION": "Kustuta",
+		"DELETE_USERPROFILE": "Kustuta kasutaja profiil",
+		"DISABLED": "Deaktiveeritud",
+		"EDIT_PERMISSION": "Redigeeri",
+		"EDIT_USERPROFILE": "Redigeeri kasutaja profiili",
+		"ENABLEAUTOMATICSCREENRECORDING": "Luba automaatne ekraanil salvestamine",
+		"ENABLESCREENRECORDINGBYAGENT": "Ekraani salvestamise lubamine agendi poolt",
+		"ENABLEVIDEOECORDING": "Luba videosalvestus",
+		"GENERATE": "Genereerima",
+		"MANAGE_API_KEY": "API võtmehaldur",
+		"MODULES": "Moodulid",
+		"NEW_USERPROFILE": "Uus kasutajaprofiil",
+		"PERMISSIONS_ALL_RESOURCES": "Kõik ressursid",
+		"PERMISSIONS_AUTO_ASSOCIATION_INFO": "Seostage selle jaotise kõik praegused ja tulevased ressursid automaatselt kasutajaprofiiliga",
+		"PERMISSIONS_MANAGE": "Halda",
+		"PERMISSIONS_PLACEHOLDER_SEARCH": "Otsing...",
+		"PERMISSIONS_SECTION_HIDE": "Peida osa kasutajale",
+		"PERMISSIONS_SECTION_SHOW": "Kuva jaotis kasutajale",
+		"PERMISSIONS_SECTION_TITLE": "{{sectionName}} õigused",
+		"PERMISSIONS_SELECTED_RESOURCES": "Valitud ressursid",
+		"PERMISSIONS_SELECT_REPORT_TYPE": "Valige aruande tüüp",
+		"PERMISSIONS_SELECT_SECTION": "Valige jaotis",
+		"PERMISSIONS_UNAUTHORIZED_CREATION_MESSAGE": "Teil pole lubatud ressurssi luua",
+		"PERMISSIONS_UNAUTHORIZED_REDIRECT_MESSAGE": "Teil pole lubatud valitud sektsiooni juurde pääseda",
+		"PERMISSIONS_UNAUTHORIZED_REDIRECT_TITLE": "Volitamata tegevus",
+		"PERMISSIONS_WARNING_CLOSE": "Teil on salvestamata muudatusi. Kas soovite kindlasti väljuda salvestamata?",
+		"PERMISSIONS_WARNING_ENABLE_ALL": "Kõik {{sectionName}} alajaotised ja nende ressursid lubatakse. Kas soovite kindlasti jätkata?",
+		"QUEUEADD_AGENT_WHATSAPP_INBOUND": "Lisage agent WhatsApp'i järjekorda",
+		"QUEUEADD_USER_WHATSAPP_INBOUND": "Lisage kasutaja WhatsApp'i järjekorda",
+		"QUEUES_ASSOCIATION": "{{channel}} Järjekordade liit",
+		"READ_PERMISSION": "Loe",
+		"REGENERATE": "Regenereerige",
+		"REMOVE": "Eemalda",
+		"REPORT_TYPE": "Aruande tüüp",
+		"SECTIONS": "Sektsioonid",
+		"SELECTED_QUEUES_WHATSAPP_INBOUND": "Valitud WhatsApi järjekorrad",
+		"SELECTED_WHATSAPPACCOUNTS": "Valitud WhatsApi kontod",
+		"SELECTED_WHATSAPPQUEUES": "Valitud WhatsApi järjekorrad",
+		"SUMMARY": "Kokkuvõte",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"USERADD_WHATSAPPACCOUNTS": "Lisage kasutajale WhatsApi konto",
+		"USERADD_WHATSAPPQUEUES": "Lisage kasutajale Whataspp Queue",
+		"USERPROFILE": "Kasutajaprofiil",
+		"USERPROFILES": "Kasutajaprofiilid",
+		"VIDEOSUPPORT": "Video tugi",
+		"WHATSAPP": "WhatsApp-pistik",
+		"WHATSAPPCAPACITY": "WhatsApp-pistiku maht"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/staff/i18n/lt.json b/public/app/main/apps/staff/i18n/lt.json
new file mode 100644
index 0000000..a5c4050
--- /dev/null
+++ b/public/app/main/apps/staff/i18n/lt.json
@@ -0,0 +1,360 @@
+{
+	"STAFF": {
+		"MANAGE_API_KEY": "API Key Manager",
+		"GENERATE": "Generate",
+		"REGENERATE": "Regenerate",
+		"REMOVE": "Remove",
+		"APIKEYMANAGER_USER": "API Key Manager",
+		"APIKEY": "API Key",
+		"VIDEOSUPPORT": "Video support",
+		"HOTDESK": "Hot desk",
+		"ENABLEVIDEOECORDING": "Enable Video Recording",
+		"ENABLESCREENRECORDINGBYAGENT": "Enable Screen Recording by Agent",
+		"ENABLEAUTOMATICSCREENRECORDING": "Enable Automatic Screen Recording",
+		"OLD_PASSWORD": "Old Password",
+		"ENABLEJAWSINTEGRATION": "Enable Jaws Integration",
+		"ALIAS": "Alias",
+		"NO_PASSWORD_CHANGE": "No Password Change",
+		"SECURITY_SUITE": "Security Suite",
+		"LAST_PASSWORD_RESET_AT": "Last Password Reset At",
+		"SIP_WEBRTC": "Sip",
+		"SETTINGS_WEBRTC": "Settings",
+		"WEBRTC": "WebRTC",
+		"DTLSCERTFILE": "TLS certificate",
+		"DTLSPRIVATEKEY": "TLS certificate's private key",
+		"CONTEXT": "Context",
+		"RINGINUSE": "Ring In Use",
+		"USERS": "Users",
+		"AGENTS": "Agents",
+		"TOGGLE_SIDENAV": "Toggle sidenav",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"MULTI_SELECT_TOGGLE": "multi select toggle",
+		"SELECT_ALL": "Select all",
+		"SELECT_NONE": "Select None",
+		"SELECTED": "Selected",
+		"DELETE_SELECTED": "Delete selected",
+		"EXPORT_SELECTED": "Export selected",
+		"ALL_USERS": "All users",
+		"ALL_AGENTS": "All agents",
+		"SORT": "sort",
+		"NAME": "Name",
+		"FULLNAME": "Full Name",
+		"A_TO_Z": "(A to Z)",
+		"Z_TO_A": "(Z to A)",
+		"MORE": "More",
+		"DELETE_USER": "Delete User",
+		"EDIT_USER": "Edit User",
+		"DELETE_AGENT": "Delete Agent",
+		"EDIT_AGENT": "Edit Agent",
+		"DELETE": "Delete",
+		"SAVE": "SAVE",
+		"ADD_USER": "ADD USER",
+		"ADD_AGENT": "ADD AGENT",
+		"NO_RESULTS": "No results..",
+		"CLOSE_DIALOG": "Close dialog",
+		"NAME_REQUIRED": "Name (required)",
+		"USERNAME": "Username",
+		"SHOW_ALL_FIELDS": "Show All Fields",
+		"PHONE_NUMBER": "Phone number",
+		"EMAIL": "Email",
+		"PASSWORD": "Password",
+		"ERRORS": {
+			"CONFIRM_REQUIRED": "Mandatory field",
+			"ALLOWCODECS_REQUIRED": "Mandatory field",
+			"ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
+			"DTLSCERTFILE_REQUIRED": "Mandatory field",
+			"DTLSPRIVATEKEY_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"USERNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"ACCOUNTNAME_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"CHATCAPACITY_REQUIRED": "Mandatory field",
+			"MAILCAPACITY_REQUIRED": "Mandatory field",
+			"FAXCAPACITY_REQUIRED": "Mandatory field",
+			"SMSCAPACITY_REQUIRED": "Mandatory field",
+			"OPENCHANNELCAPACITY_REQUIRED": "Mandatory field",
+			"SIPEXPIRES_REQUIRED": "Mandatory field",
+			"SIPPORT_REQUIRED": "Mandatory field",
+			"UNCONDITIONALNUMBER_REQUIRED": "Mandatory field",
+			"NOREPLYNUMBER_REQUIRED": "Mandatory field",
+			"BUSYNUMBER_REQUIRED": "Mandatory field",
+			"USERNAME_MUST_VALID_PATTERN": "Wrong format {{regex}}",
+			"REMOTECONTROLPORT_REQUIRED": "Mandatory field",
+			"CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AUTOANSWERDELAY_REQUIRED": "Mandatory field",
+			"MONITOREXTENSION_REQUIRED": "Mandatory field",
+			"SECURE_PASSWORD_PATTERN": "The password must be at least 8 characters long and have 1 lowercase character, 1 uppercase character, 1 number and 1 special character ~!@#$%^&-_=+[{]}.",
+			"CRUDPERMISSIONS_REQUIRED": "Mandatory field",
+			"USERPROFILE_REQUIRED": "Mandatory field",
+			"PASSWORD_OLDPASSWORD_MATCH": "New password must be different from previous one",
+			"WHATSAPPCAPACITY_REQUIRED": "Privalomas laukas"
+		},
+		"ACCOUNT": "Account",
+		"VOICE": "Voice",
+		"CREATED_AT": "Created At",
+		"ROLE": "Role",
+		"PERSONAL_INFO": "Personal Info",
+		"DESCRIPTION": "Description",
+		"CHANGE_AVATAR": "Change Avatar",
+		"GENERAL": "General",
+		"INTERNAL": "Internal",
+		"TRANSPORT": "Transport",
+		"ALLOWCODECS": "Allowed Codecs",
+		"DISABLED": "Deactivated",
+		"BLOCKED": "Locked",
+		"HELP": {
+			"DISABLED": "select to deactivate / unselect to reactivate",
+			"BLOCKED": "Lock / Unlock access",
+			"APIKEY": "Please use 'API key manager' button on toolbar to manage this key",
+			"LAST_PASSWORD_RESET_AT": "Last date and time the password has been changed. If Secure Suite General Setting is enabled, the password will expire after 90 days.",
+			"DTLSCERTFILE": "Link to the valid TLS certificate(.crt file). Default value: '/etc/pki/tls/certs/motion.crt'.",
+			"DTLSPRIVATEKEY": "Link to the certificate's private key(.key file). Default value: '/etc/pki/tls/private/motion.key'.",
+			"ALLOWCODECS": "Allowed Codecs in order of preference",
+			"TRANSPORT": "Set the default transports in order of preference",
+			"HOST": "How to find the client - IP or host name. If you want the phone to register itself, use the keyword dynamic instead of Host IP",
+			"NAT": "Changes the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore other settings and set nat=no",
+			"SIPEXPIRES": "Default: 160",
+			"SIPPORT": "Default: 5160",
+			"TYPE": "Determines the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above",
+			"CHATCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"MAILCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"FAXCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"SMSCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"OPENCHANNELCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
+			"CALLGROUP": "The agent's callgroup",
+			"PICKUPGROUP": "The groups in which the agent can answer calls",
+			"USERNAME": "Only numbers, letters and specific characters (._) are supported",
+			"ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
+			"SAVE_PERMISSIONS": "Every section containing any pending changes will be saved",
+			"CUSTOM_DASHBOARDS_PERMISSIONS": "Custom Dashboards permissions are managed in the Tools module",
+			"ENABLEAUTOMATICSCREENRECORDING": "The functionality is available only for voice channel",
+			"WHATSAPPCAPACITY": "Didžiausias agentų vienu metu vykstančių kanalų sąveikų skaičius (0 = neribotas)"
+		},
+		"NEW_PASSWORD": "New Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"CHANGE_PASSWORD": "Change Password",
+		"CHANGEPASSWORD_AGENT": "Change Password",
+		"CHANGEPASSWORD_USER": "Change Password",
+		"CHANGEPASSWORD_TELEPHONE": "Change Password",
+		"LOGININPAUSE": "Login In Pause",
+		"HOST": "Host",
+		"NAT": "NAT",
+		"CHANSPY": "ChanSpy",
+		"OTHER_CHANNELS": "Other Channels",
+		"CHATCAPACITY": "Chat Capacity",
+		"MAILCAPACITY": "Email Capacity",
+		"FAXCAPACITY": "Fax Capacity",
+		"SMSCAPACITY": "Sms Capacity",
+		"OPENCHANNELCAPACITY": "Open Channel Capacity",
+		"MOTIONBAR": "Motion Bar",
+		"SETTINGS": "Settings",
+		"AUTOANSWER": "Auto Answer",
+		"ENABLESETTINGS": "Enable Settings",
+		"CALL_FORWARDING": "Call Forwarding",
+		"UNCONDITIONAL": "Unconditional",
+		"UNCONDITIONALNUMBER": "Unconditional Number",
+		"NOREPLY": "No Reply",
+		"NOREPLYNUMBER": "No Reply Number",
+		"BUSY": "Busy",
+		"BUSYNUMBER": "Busy Number",
+		"REMOTE_CONTROL": "Remote Control",
+		"REMOTECONTROL": "Remote Control",
+		"REMOTECONTROLPORT": "Remote Control Port",
+		"SIP": "SIP",
+		"SIPEXPIRES": "SIP Expires [sec]",
+		"SIPPORT": "SIP Port",
+		"PENALTY": "Penalty",
+		"ACCOUNTNAME": "Account Name",
+		"ADD_TELEPHONE": "Add Telephone",
+		"EDIT_TELEPHONE": "Edit Telephone",
+		"DELETE_TELEPHONE": "Delete Telephone",
+		"TEAMS": "Teams",
+		"DELETE_TEAM": "Delete Team",
+		"AGENTADD_TEAM": "Add Agents to Team",
+		"EDIT_TEAM": "Edit Team",
+		"TYPE": "Type",
+		"TELEPHONES": "Telephones",
+		"CALLERID": "Caller ID",
+		"ENABLERECORDING": "Enable Recording",
+		"STAFF": "Staff",
+		"ID": "Id",
+		"NEW_USER": "New User",
+		"NEW_AGENT": "New Agent",
+		"NEW_TELEPHONE": "New Telephone",
+		"NEW_TEAM": "New Team",
+		"ADD_TEAM": "Add Team",
+		"JOIN_QUEUE": "Join Queue",
+		"CAPACITY": "Capacity",
+		"AUTOINTERNAL": "Auto generate internal number",
+		"ADD_AGENT_TO_TEAM": "Add Agent to Team",
+		"TEAMADD_AGENT": "Add Agent to Team",
+		"NO_AVAILABLE_INFO": "No available info",
+		"PERMISSIONS": "Permissions",
+		"ADD_AGENT_TO_QUEUE": "Add Agent to Queue",
+		"ALL_MODULES_AVAILABLE": "All modules available",
+		"CALLGROUP": "Call Group",
+		"PICKUPGROUP": "Pickup Group",
+		"QUEUEADD_AGENT_VOICE_OUTBOUND": "Add Agent to Queue Campaigns",
+		"QUEUEADD_AGENT_VOICE_INBOUND": "Add Agent to Voice Queues",
+		"QUEUEADD_AGENT_CHAT_INBOUND": "Add Agent to Chat Queues",
+		"QUEUEADD_AGENT_MAIL_INBOUND": "Add Agent to Email Queues",
+		"QUEUEADD_AGENT_SMS_INBOUND": "Add Agent to SMS Queues",
+		"QUEUEADD_AGENT_OPENCHANNEL_INBOUND": "Add Agent to Open Channel Queues",
+		"QUEUEADD_AGENT_FAX_INBOUND": "Add Agent to Fax Queues",
+		"QUEUEADD_USER_VOICE_INBOUND": "Add User to Voice Queues",
+		"QUEUEADD_USER_CHAT_INBOUND": "Add User to Chat Queues",
+		"QUEUEADD_USER_MAIL_INBOUND": "Add User to Email Queues",
+		"QUEUEADD_USER_SMS_INBOUND": "Add User to SMS Queues",
+		"QUEUEADD_USER_OPENCHANNEL_INBOUND": "Add User to Open Channel Queues",
+		"QUEUEADD_USER_FAX_INBOUND": "Add User to Fax Queues",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"SELECTED_AGENTS": "Selected Agents",
+		"ALL_QUEUES_VOICE_OUTBOUND": "All Queue Campaigns",
+		"SELECTED_QUEUES_VOICE_OUTBOUND": "Selected Queue Campaigns",
+		"ALL_QUEUES_VOICE_INBOUND": "All Voice Queues",
+		"SELECTED_QUEUES_VOICE_INBOUND": "Selected Voice Queues",
+		"ALL_QUEUES_CHAT_INBOUND": "All Chat Queues",
+		"SELECTED_QUEUES_CHAT_INBOUND": "Selected Chat Queues",
+		"ALL_QUEUES_MAIL_INBOUND": "All Email Queues",
+		"SELECTED_QUEUES_MAIL_INBOUND": "Selected Email Queues",
+		"ALL_QUEUES_SMS_INBOUND": "All SMS Queues",
+		"SELECTED_QUEUES_SMS_INBOUND": "Selected SMS Queues",
+		"ALL_QUEUES_OPENCHANNEL_INBOUND": "All Open Channel Queues",
+		"SELECTED_QUEUES_OPENCHANNEL_INBOUND": "Selected Open Channel Queues",
+		"ALL_QUEUES_FAX_INBOUND": "All Fax Queues",
+		"SELECTED_QUEUES_FAX_INBOUND": "Selected Fax Queues",
+		"VOICEMAIL": "Voicemail",
+		"SHOWWEBCONTROL": "Typology",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"CALLFORWARDING": "Call Forwarding",
+		"DND": "Do not disturb during pause",
+		"UNANSWEREDCALLBADGE": "Show unanswered call badge",
+		"ENABLEDTMFTONE": "Enable Dtmf tones",
+		"AUTOANSWERDELAY": "Auto Answer Delay [s]",
+		"ENCRYPTION": "Encryption",
+		"CHANNELS": "Channels",
+		"CHAT": "Chat",
+		"SMS": "Sms",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"QUEUEADD_USER_VOICE_OUTBOUND": "Add User to Queue Campaigns",
+		"MONITOREXTENSION": "Record calls to user extension",
+		"EDITPERMISSIONS": "Editing Permissions",
+		"READ_PERMISSION": "Read",
+		"EDIT_PERMISSION": "Edit",
+		"DELETE_PERMISSION": "Delete",
+		"GENERAL_PERMISSIONS": "General",
+		"ENABLEMESSENGER": "Enable Internal Messenger",
+		"OUTBOUNDPROXY": "Oubound Proxy",
+		"PHONE": "Phone",
+		"MOBILE": "Mobile",
+		"PREFIXREQUIRED": "Prefix Required",
+		"MANAGE_PERMISSIONS": "Manage Permissions",
+		"USERADD_VOICEQUEUES": "Add Voice Queue to User",
+		"ALL_VOICEQUEUES": "All Voice Queues",
+		"SELECTED_VOICEQUEUES": "Selected Voice Queues",
+		"USERADD_CHATQUEUES": "Add Chat Queue to User",
+		"ALL_CHATQUEUES": "All Chat Queues",
+		"SELECTED_CHATQUEUES": "Selected Email Queues",
+		"USERADD_MAILQUEUES": "Add Email Queue to User",
+		"ALL_MAILQUEUES": "All Email Queues",
+		"SELECTED_MAILQUEUES": "Selected Chat Queues",
+		"USERADD_SMSQUEUES": "Add SMS Queue to User",
+		"ALL_SMSQUEUES": "All SMS Queues",
+		"SELECTED_SMSQUEUES": "Selected SMS Queues",
+		"USERADD_FAXQUEUES": "Add Fax Queue to User",
+		"ALL_FAXQUEUES": "All Fax Queues",
+		"SELECTED_FAXQUEUES": "Selected Fax Queues",
+		"USERADD_OPENCHANNELQUEUES": "Add Open Channel Queue to User",
+		"ALL_OPENCHANNELQUEUES": "All Open Channel Queues",
+		"SELECTED_OPENCHANNELQUEUES": "Selected Open Channel Queues",
+		"USERADD_PROJECTS": "Add Cally Square Project to User",
+		"ALL_PROJECTS": "All Cally Square Projects",
+		"SELECTED_PROJECTS": "Selected Cally Square Projects",
+		"USERADD_CHATWEBSITES": "Add Chat Website to User",
+		"ALL_CHATWEBSITES": "All Chat Websites",
+		"SELECTED_CHATWEBSITES": "Selected Chat Websites",
+		"USERADD_QUEUECAMPAIGNS": "Add Queue Campaign to User",
+		"ALL_QUEUECAMPAIGNS": "All Queue Campaigns",
+		"SELECTED_QUEUECAMPAIGNS": "Selected Queue Campaigns",
+		"USERADD_MAILACCOUNTS": "Add Email Account to User",
+		"ALL_MAILACCOUNTS": "All Email Accounts",
+		"SELECTED_MAILACCOUNTS": "Selected Email Accounts",
+		"USERADD_FAXACCOUNTS": "Add Fax Account to User",
+		"ALL_FAXACCOUNTS": "All Fax Accounts",
+		"SELECTED_FAXACCOUNTS": "Selected Fax Accounts",
+		"USERADD_SMSACCOUNTS": "Add SMS Account to User",
+		"ALL_SMSACCOUNTS": "All SMS Accounts",
+		"SELECTED_SMSACCOUNTS": "Selected SMS Accounts",
+		"USERADD_OPENCHANNELACCOUNTS": "Add Open Channel Account to User",
+		"ALL_OPENCHANNELACCOUNTS": "All Open Channel Accounts",
+		"SELECTED_OPENCHANNELACCOUNTS": "Selected Open Channel Accounts",
+		"USERPROFILES": "User Profiles",
+		"USERPROFILE": "User Profile",
+		"NEW_USERPROFILE": "New User Profile",
+		"ADD_USERPROFILE": "Add User Profile",
+		"EDIT_USERPROFILE": "Edit User Profile",
+		"CLONE_USERPROFILE": "Clone User Profile",
+		"DELETE_USERPROFILE": "Delete User Profile",
+		"CRUDPERMISSIONS": "Permission Type",
+		"SECTIONS": "Sections",
+		"MODULES": "Modules",
+		"SUMMARY": "Summary",
+		"REPORT_TYPE": "Report Type",
+		"PERMISSIONS_MANAGE": "Manage",
+		"PERMISSIONS_SECTION_TITLE": "{{sectionName}} Permissions",
+		"PERMISSIONS_AUTO_ASSOCIATION_INFO": "Automatically associate every current and future resource of this section to the User Profile",
+		"PERMISSIONS_PLACEHOLDER_SEARCH": "Search...",
+		"PERMISSIONS_SELECT_SECTION": "Select a section",
+		"PERMISSIONS_SELECT_REPORT_TYPE": "Select report type",
+		"PERMISSIONS_ALL_RESOURCES": "All resources",
+		"PERMISSIONS_SELECTED_RESOURCES": "Selected resources",
+		"PERMISSIONS_SECTION_HIDE": "Hide section to the User",
+		"PERMISSIONS_SECTION_SHOW": "Show section to the User",
+		"PERMISSIONS_WARNING_ENABLE_ALL": "All {{sectionName}} subsections and their resources will be enabled. Are you sure you want to continue?",
+		"PERMISSIONS_WARNING_CLOSE": "You have unsaved changes. Are you sure you want to exit without saving?",
+		"NOTIFICATIONS": {
+			"PERMISSIONS_ENABLED_ALL_SUCCESS_TITLE": "{{sectionName}} section enabled",
+			"PERMISSIONS_ENABLED_ALL_SUCCESS_MESSAGE": "All {{sectionName}} resources have been added to {{userProfileName}} User Profile",
+			"PERMISSIONS_ENABLED_ALL_SUCCESS_MESSAGE_NO_RESOURCES": "{{sectionName}} has been added to {{userProfileName}} User Profile",
+			"PERMISSIONS_DISABLED_ALL_SUCCESS_TITLE": "{{sectionName}} section disabled",
+			"PERMISSIONS_DISABLED_ALL_SUCCESS_MESSAGE": "All {{sectionName}} resources have been removed from {{userProfileName}} User Profile",
+			"PERMISSIONS_DISABLED_ALL_SUCCESS_MESSAGE_NO_RESOURCES": "{{sectionName}} has been removed from {{userProfileName}} User Profile",
+			"PERMISSIONS_SAVED_SUCCESS_TITLE": "{{sectionName}} section saved",
+			"PERMISSIONS_SAVED_SUCCESS_MESSAGE": "Permissions successfully updated!"
+		},
+		"CONFIRM": "Confirm",
+		"CANCEL": "Cancel",
+		"CLOSE": "Close",
+		"QUEUES_ASSOCIATION": "{{channel}} Queues Association",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"PERMISSIONS_UNAUTHORIZED_REDIRECT_TITLE": "Unauthorized action",
+		"PERMISSIONS_UNAUTHORIZED_REDIRECT_MESSAGE": "You are not allowed to access the selected section",
+		"PERMISSIONS_UNAUTHORIZED_CREATION_MESSAGE": "You are not allowed to create the resource",
+		"ALL_QUEUES_WHATSAPP_INBOUND": "Visos „WhatsApp“ eilės",
+		"ALL_WHATSAPPACCOUNTS": "Visos „WhatsApp“ paskyros",
+		"ALL_WHATSAPPQUEUES": "Visos „Whataspp“ eilės",
+		"QUEUEADD_AGENT_WHATSAPP_INBOUND": "Pridėti agentą prie „WhatsApp“ eilių",
+		"QUEUEADD_USER_WHATSAPP_INBOUND": "Pridėti vartotoją prie „WhatsApp“ eilių",
+		"SELECTED_QUEUES_WHATSAPP_INBOUND": "Pasirinktos „WhatsApp“ eilės",
+		"SELECTED_WHATSAPPACCOUNTS": "Pasirinktos „WhatsApp“ paskyros",
+		"SELECTED_WHATSAPPQUEUES": "Pasirinktos „WhatsApp“ eilės",
+		"USERADD_WHATSAPPACCOUNTS": "Pridėkite „WhatsApp“ abonementą prie vartotojo",
+		"USERADD_WHATSAPPQUEUES": "Pridėti „Whataspp Queue“ prie „User“",
+		"WHATSAPP": "„WhatsApp“ jungtis",
+		"WHATSAPPCAPACITY": "„WhatsApp“ jungties talpa"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/tools/i18n/cs.json b/public/app/main/apps/tools/i18n/cs.json
new file mode 100644
index 0000000..db3411b
--- /dev/null
+++ b/public/app/main/apps/tools/i18n/cs.json
@@ -0,0 +1,457 @@
+{
+	"TOOLS": {
+		"BOT": "Voicebot",
+		"CLONE_TRUNK": "Clone Trunk",
+		"DISPOSITIONS": "Dispositions",
+		"NEW_DISPOSITION": "New Disposition",
+		"ADD_DISPOSITION": "Add Disposition",
+		"EDIT_DISPOSITION": "Edit Disposition",
+		"DELETE_DISPOSITION": "Delete Disposition",
+		"RUN_SCHEDULE": "Run schedule",
+		"SENDIFEMPTY": "Send if empty",
+		"NEXTCONTACT": "Next",
+		"OUTBOUND_ROUTE": "Outbound Route",
+		"EDIT_DASHBOARDITEM": "Edit Dashboard Widget",
+		"FONTSIZE": "Font Size",
+		"CLONE_CUSTOMDASHBOARD": "Clone Custom Dashboard",
+		"LINK": "Link [https://]",
+		"BACKGROUND": "Background",
+		"FOREGROUND": "Foreground",
+		"NONE": "None",
+		"TOTAL": "Total",
+		"ABANDONED": "Abandoned",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"ANSWERED": "Answered",
+		"UNMANAGED": "Unmanaged",
+		"CUSTOMTYPE": "Custom [path]",
+		"WEBREPORT": "Web Report",
+		"PIECHART": "Pie Chart",
+		"MULTIBARCHART": "Multibar Chart",
+		"MOVE_WIDGET": "Move Widget",
+		"USERADD_CUSTOMDASHBOARD": "Add User Permissions",
+		"GOTODASHBOARD_CUSTOMDASHBOARD": "Go to preview dashboard",
+		"GOTO_CUSTOMDASHBOARD": "Go to preview dashboard",
+		"METRIC": "Metric",
+		"FILTERVOICEQUEUES": "Filter Voice Queues",
+		"SERIE1": "Serie 1",
+		"SERIE2": "Serie 2",
+		"SERIE3": "Serie 3",
+		"REFRESH": "Refresh [s]",
+		"FORMAT": "Format",
+		"PATH": "Absolute Path",
+		"ALL_USERS": "All Users",
+		"SELECTED_USERS": "Selected Users",
+		"ADD_WIDGET": "Add Widget",
+		"COLOR": "Color",
+		"FAX": "Fax",
+		"INTERACTION": "Interaction",
+		"MESSAGE": "Message",
+		"T38PT_UDPTL": "T38pt Udptl",
+		"CALL": "Call",
+		"NAME": "Name",
+		"TRUNKS": "Trunks",
+		"SEARCH_FOR_ANYONE": "Search",
+		"ERRORS": {
+			"NAME_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TITLE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"REFRESH_REQUIRED": "Mandatory field",
+			"FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONTSIZE_REQUIRED": "Mandatory field",
+			"PATH_REQUIRED": "Mandatory field",
+			"FORMAT_REQUIRED": "Mandatory field",
+			"REPORT_REQUIRED": "Mandatory field",
+			"TYPE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"ACCOUNT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"DEFAULTUSER_REQUIRED": "Mandatory field",
+			"CALLERID_REQUIRED": "Mandatory field",
+			"KEY_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The Passwords don't match",
+			"VALIDITYSTART_REQUIRED": "Mandatory field",
+			"VALIDITYEND_REQUIRED": "Mandatory field",
+			"MONTHDAY_REQUIRED": "Mandatory field",
+			"HOUR_REQUIRED": "Mandatory field",
+			"CONTENT_REQUIRED": "Mandatory field",
+			"URL_REQUIRED": "Mandatory field",
+			"URL_MUST_VALID_URL": "Wrong format",
+			"APPLICATION_REQUIRED": "Mandatory field",
+			"ARGUMENTS_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"POLLING_INTERVAL_REQUIRED": "Mandatory field",
+			"TITLE_REQUIRED": "Mandatory field",
+			"EMAILADDRESS_REQUIRED": "Mandatory field",
+			"EVENTVARIABLES_REQUIRED": "Mandatory field",
+			"INTEGRATION_REQUIRED": "Mandatory field",
+			"LIST_REQUIRED": "Mandatory field",
+			"TEMPLATE_REQUIRED": "Mandatory field",
+			"AUTOCREATECONTACT_REQUIRED": "Mandatory field",
+			"OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"TIME_RANGE_TO_REQUIRED": "Mandatory field",
+			"WEEK_DAYS_TO_REQUIRED": "Mandatory field",
+			"MONTH_DAYS_TO_REQUIRED": "Mandatory field",
+			"MONTH_TO_REQUIRED": "Mandatory field",
+			"TIME_RANGE_FROM_INVALID": "Wrong Format",
+			"TIME_RANGE_TO_INVALID": "Wrong Format",
+			"ACTION_REQUIRED": "Mandatory field",
+			"CONFIGURATION_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"LOCATION_REQUIRED": "Mandatory field",
+			"OUTPUT_REQUIRED": "Mandatory field",
+			"REPORTTYPE_REQUIRED": "Mandatory field",
+			"REPORTFOLDER_REQUIRED": "Mandatory field",
+			"REPORTSUBFOLDER_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Povinné pole",
+			"INFO_REQUIRED": "Povinné pole",
+			"SCRIPT_REQUIRED": "Povinné pole",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
+			"TIMEOUT_REQUIRED": "Povinné pole"
+		},
+		"HOST": "Host",
+		"SECRET": "Secret",
+		"DEFAULTUSER": "Default User",
+		"DESCRIPTION": "Description",
+		"ADD_TRUNK": "Add Trunk",
+		"HELP": {
+			"T38PT_UDPTL": "Es: yes,redundancy,maxdatagram=400",
+			"SECRET": "Authentication password",
+			"HOST": "The domain or host name",
+			"DEFAULTUSER": "Authentication username",
+			"CALLERID": "The Caller ID, in the format \"name\" <number>",
+			"REGISTRY": "The registry string, if required by provider, usually defaultuser:secret@host",
+			"FROMDOMAIN": "Set default From:domain in SIP messages when acting as a SIP ua (client). Some destinations may require mandatory identity name instead of only the IP address",
+			"FROMUSER": "How your provider knows you. This is which user to put instead of callerid when placing calls to peer (another SIP proxy). Valid only for type=peer.",
+			"OUTBOUNDPROXY": "IP_address or DNS SRV name (excluding the _sip._udp prefix): SRV name, hostname, or IP address of the outbound SIP Proxy. Send outbound signaling to this proxy, not directly to the devices. Valid only for type=peer.",
+			"PORT": "The SIP port number",
+			"CONTEXT": "The context for the trunk",
+			"TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
+			"DTMFMODE": "How DTMF (Dual-Tone Multi-Frequency) are sent. RFC2833: the default mode, the DTMF are sent with RTP but outside the audio stream. INBAND: The DTMF is sent in audio stream of the current conversation, becoming audible from the speakers. Requires a high CPU load. INFO: Although this method is very reliable, it is not supported by all PBX devices and many SIP Trunks.",
+			"NAT": "Change the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore any other settings and set nat=no.",
+			"QUALIFY": "Determine when the SIP is achievable",
+			"ALLOWCODECS": "Allowed codecs in order of preference",
+			"INSECURE": "Specify how to handle connections with peer, allowing insecure settings",
+			"CALL_LIMIT": "The limit number of the inbound and outbound concurrent calls",
+			"DIRECTMEDIA": "Asterisk by default tries to redirect the RTP media stream to go directly from the caller to the callee. Some devices do not support this (especially if one of them is behind a NAT). The default setting is YES. If you have all clients behind a NAT, or for some other reason want Asterisk to stay in the audio path, you may want to turn this off.",
+			"CALLCOUNTER": "Enable call counters on devices",
+			"ADD_PHONE_TO_URI": "Define if the provider requires ';user=phone' on URL",
+			"TRUST_REMOTE_PARTY_ID": "Define if Remote-Party-ID should be trusted",
+			"SEND_REMOTE_PARTY_ID_HEADER": "Define if Remote-Party-ID should be sent (defaults is no)",
+			"ENCRYPTION": "Whether to offer SRTP encrypted media (and only SRTP encrypted media) on outgoing calls to a peer. Calls will fail with HANGUPCAUSE=58 if the peer does not support SRTP. Defaults value is No",
+			"TRANSPORT": "Set the default transports, in order of preference",
+			"OTHERFIELDS": "Other fields to add in the trunks conf files. Follow default asterisk format (key=value), each field on a single row",
+			"EMAILADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"EMAILCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"EMAILBCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"EVENTVARIABLES": "If enabled, it adds all the event variables to the url (recommended value=No. Set to Yes only for evaluation purposes) ",
+			"BODY": "If not filled out, the default value will be sent",
+			"HEADERS": "Poznámka: Sekce záhlaví musí být ve formátu RAW JSON {\"key\": \"value\"}\nPoznámka: Pokud není vyplněna, bude odeslána výchozí hodnota",
+			"INFO": "Vložte název",
+			"SCRIPT": "Vložte skript",
+			"SCRIPT_INFO": "Vložte popis skriptu",
+			"SCRIPT_TYPE": "Vložte typologii skriptu (např. Curl, bash ...)",
+			"TIMEOUT": "Vyžádejte si časový limit v sekundách. Hodnota musí být mezi 1 a 10 a výchozí hodnota je 5."
+		},
+		"EDIT_TRUNK": "Edit Trunk",
+		"DELETE_TRUNK": "Delete Trunk",
+		"CREATED_AT": "Created At",
+		"SETTINGS": "Settings",
+		"ADVANCED": "Advanced",
+		"OTHER": "Other",
+		"ACTIVE": "Active",
+		"CONTEXT": "Context",
+		"CALLERID": "Caller ID",
+		"TYPE": "Type",
+		"DTMFMODE": "DTMF Mode",
+		"NAT": "NAT",
+		"QUALIFY": "Qualify",
+		"ALLOWCODECS": "Allowed Codecs",
+		"INSECURE": "Insecure",
+		"REGISTRY": "Registry",
+		"DIRECTMEDIA": "Direct Media",
+		"CALLCOUNTER": "Call Counter",
+		"FROMDOMAIN": "From Domain",
+		"FROMUSER": "From User",
+		"OUTBOUNDPROXY": "Outbound Proxy",
+		"ADD_PHONE_TO_URI": "Add Phone to URL",
+		"TRUST_REMOTE_PARTY_ID": "Trust Remote Party ID",
+		"SEND_REMOTE_PARTY_ID_HEADER": "Send Remote Party ID Header",
+		"ENCRYPTION": "Encryption",
+		"PORT": "Port",
+		"TRANSPORT": "Transport",
+		"SAVE": "Save",
+		"VARIABLES": "Variables",
+		"ADD_VARIABLE": "Add Variable",
+		"EDIT_VARIABLE": "Edit Variable",
+		"DELETE_VARIABLE": "Delete Variable",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"TAGS": "Tags",
+		"ADD_TAG": "Add Tag",
+		"EDIT_TAG": "Edit Tag",
+		"DELETE_TAG": "Delete Tag",
+		"PAUSES": "Pauses",
+		"ADD_PAUSE": "Add Pause",
+		"EDIT_PAUSE": "Edit Pause",
+		"DELETE_PAUSE": "Delete Pause",
+		"CANNEDANSWERS": "Canned Answers",
+		"ADD_CANNEDANSWER": "Add Canned Answer",
+		"EDIT_CANNEDANSWER": "Edit Canned Answer",
+		"DELETE_CANNEDANSWER": "Delete Canned Answer",
+		"KEY": "Key",
+		"VALUE": "Value",
+		"SOUNDS": "Sounds",
+		"EDIT_SOUND": "Edit Sound",
+		"DELETE_SOUND": "Delete Sound",
+		"CANCEL": "Cancel",
+		"FINISH": "Finish",
+		"DROP_TO_UPLOAD": "Drop To Upload",
+		"UPLOADING": "Uploading",
+		"TRIGGERS": "Triggers",
+		"EDIT_TRIGGER": "Edit Trigger",
+		"DELETE_TRIGGER": "Delete Trigger",
+		"ADD_TRIGGER": "Add Trigger",
+		"DELETE": "Delete",
+		"AUTOMATIONS": "Automations",
+		"EDIT_AUTOMATION": "Edit Automation",
+		"DELETE_AUTOMATION": "Delete Automation",
+		"ADD_AUTOMATION": "Add Automation",
+		"INTERVALS": "Intervals",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_INTERVAL": "Delete Interval",
+		"ADD_INTERVAL": "Add Interval",
+		"TOOLS": "Tools",
+		"ID": "Id",
+		"AUDIO": "Audio",
+		"DOWNLOAD_SOUND": "Download Sound",
+		"UPLOAD_SOUND": "Tools",
+		"CHANNEL": "Channel",
+		"NEW_TRIGGER": "New Trigger",
+		"GENERAL": "General",
+		"STATUS": "Status",
+		"CONDITIONS&ACTIONS": "Conditions & Actions",
+		"ALLCONDITIONS": "Meet all these conditions:",
+		"ANYCONDITIONS": "Meet any of these conditions:",
+		"ACTIONS": "Actions:",
+		"NEW_AUTOMATION": "New Automation",
+		"TIMEOUT": "Timeout",
+		"PEERSTATUS": "Peer Status",
+		"CALL_LIMIT": "Calls Limit",
+		"OTHERFIELDS": "Other Fields",
+		"NEW_VARIABLE": "New Variable",
+		"NEW_TAG": "New Tag",
+		"NEW_PAUSE": "New Pause",
+		"NEW_CANNEDANSWER": "New Canned Answer",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"NEW_TRUNK": "New Trunk",
+		"FROM": "From",
+		"TO": "To",
+		"WEEKDAY": "Week Day",
+		"MONTHDAY": "Month Day",
+		"MONTH": "Month",
+		"ALWAYS": "Always",
+		"MON": "Monday",
+		"TUE": "Tuesday",
+		"WED": "Wednesday",
+		"THU": "Thursday",
+		"FRI": "Friday",
+		"SAT": "Saturday",
+		"SUN": "Sunday",
+		"JAN": "January",
+		"FEB": "February",
+		"MAR": "March",
+		"APR": "April",
+		"MAY": "May",
+		"JUN": "June",
+		"JUL": "July",
+		"AUG": "August",
+		"SEP": "September",
+		"OCT": "October",
+		"NOV": "November",
+		"DEC": "December",
+		"PASSWORD": "Password",
+		"CUSTOMDASHBOARDS": "Custom Dashboards",
+		"NEW_CUSTOMDASHBOARD": "New Custom Dashboard",
+		"ADD_CUSTOMDASHBOARD": "Add Custom Dashboard",
+		"EDIT_CUSTOMDASHBOARD": "Edit Custom Dashboard",
+		"DELETE_CUSTOMDASHBOARD": "Delete Custom Dashboard",
+		"SCHEDULER": "Scheduler",
+		"NEW_SCHEDULE": "New Schedule",
+		"ADD_SCHEDULE": "Add Schedule",
+		"EDIT_SCHEDULE": "Edit Schedule",
+		"DELETE_SCHEDULE": "Delete Schedule",
+		"SENDMAIL": "Send Email",
+		"CONFIGURATION": "Configuration",
+		"MAIL": "Email",
+		"REPORTTYPE": "Report Type",
+		"REPORT": "Report",
+		"OUTPUT": "Output",
+		"EXECUTEON": "Execute On",
+		"REPORTRANGE": "Report Range",
+		"VALIDITYSTART": "Start Time",
+		"VALIDITYEND": "End Time",
+		"EXECUTEEVERY": "Execute every",
+		"ACCOUNT": "Account",
+		"EMAILADDRESS": "Email Address",
+		"EMAILCCADDRESS": "Cc",
+		"EMAILBCCADDRESS": "Bcc",
+		"CURRENTDAY": "Current Day",
+		"DAILY": "Daily",
+		"WEEKLY": "Weekly",
+		"MONTHLY": "Monthly",
+		"PREVIOUS_DAY": "Previous Day",
+		"LAST_SEVEN_DAYS": "Last Seven Days",
+		"LAST_THIRTY_DAYS": "Last Thirthy Days",
+		"LAST_MONTH": "Last Month",
+		"WEEKDAYS": "Week Days",
+		"HOUR": "Hour",
+		"DEFAULT": "Default",
+		"CSV": "CSV",
+		"PDF": "PDF",
+		"15MIN": "15 minutes",
+		"30MIN": "30 minutes",
+		"1H": "1 hour",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"TEMPLATES": "Templates",
+		"EDIT_TEMPLATE": "Edit Template",
+		"DELETE_TEMPLATE": "Delete Template",
+		"NEW_TEMPLATE": "New Template",
+		"ADD_TEMPLATE": "Add Template",
+		"CONTENT": "Content",
+		"FIELD": "Field",
+		"NO_ANYCONDITION_AVAILABLE": "No Conditions available",
+		"NO_ALLCONDITION_AVAILABLE": "No Conditions available",
+		"NO_ACTION_AVAILABLE": "No Actions available",
+		"ACTION": "Action",
+		"EDIT_ANYCONDITION": "Edit Condition",
+		"DELETE_ANYCONDITION": "Delete Condition",
+		"NEW_ANYCONDITION": "New Condition",
+		"ADD_ANYCONDITION": "Add Condition",
+		"EDIT_ALLCONDITION": "Edit Condition",
+		"DELETE_ALLCONDITION": "Delete Condition",
+		"NEW_ALLCONDITION": "New Condition",
+		"ADD_ALLCONDITION": "Add Condition",
+		"EDIT_ACTION": "Edit Action",
+		"DELETE_ACTION": "Delete Action",
+		"NEW_ACTION": "New Action",
+		"ADD_ACTION": "Add Action",
+		"QUEUE": "Queue",
+		"CALL_STATUS": "Call Status",
+		"OUTBOUNDROUTE": "Outbound Route",
+		"EQUALS": "Equals",
+		"NOT_EQUALS": "Not Equals",
+		"CONTACT_MANAGER": "Contacts Manager",
+		"INTEGRATIONS": "Integrations",
+		"MOTION_BAR": "Motion Bar",
+		"JSCRIPTY": "Jscripty",
+		"URL_FORWARD": "URL Forward",
+		"WEB_POPUP": "Web Popup",
+		"LIST": "List",
+		"INTEGRATION": "Integration",
+		"TEMPLATE": "Template",
+		"URL": "URL",
+		"APPLICATION": "Application",
+		"ARGUMENTS": "Arguments",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"NEW_INTERVAL": "New Interval",
+		"OPERATOR": "Operator",
+		"NO_INTERVALS_AVAILABLE": "No intervals available",
+		"YES": "Yes",
+		"NO": "No",
+		"SUBJECT": "Subject",
+		"NO_AVAILABLE_INFO": "No available info",
+		"BROWSER": "Browser",
+		"INTERVAL": "Interval",
+		"INFO": "Info",
+		"TIME_RANGE": "Time Range",
+		"WEEK_DAYS": "Week Days",
+		"MONTH_DAYS": "Month Days",
+		"MONTHS": "Months",
+		"DROP_TO_UPLOAD_MESSAGE": "Drop audio files here to upload. Only MP3, WAV, GSM - Max. 15MB",
+		"POLLING_INTERVAL": "Polling Interval (seconds)",
+		"DASHBOARD": "Dashboard",
+		"NEW_DASHBOARDITEM": "New Dashboard Widget",
+		"COUNTER": "Counter",
+		"IFRAME": "IFrame",
+		"CLOCK": "Clock",
+		"ADD_DASHBOARDITEM": "Add Dashboard Widget",
+		"EDIT_WIDGET": "Edit Widget",
+		"DELETE_WIDGET": "Delete Widget",
+		"FLIP_WIDGET": "Flip Widget",
+		"TITLE": "Title",
+		"UPDATE": "Update",
+		"LAYOUT": "Layout",
+		"BACKGROUND_COLOR": "Background Color",
+		"FOREGROUND_COLOR": "Foreground Color",
+		"FOREGROUND_TITLE_COLOR": "Foreground Title Color",
+		"THEME": "Theme",
+		"LIGHT": "Light",
+		"DARK": "Dark",
+		"TIMEZONE": "TimeZone",
+		"DIGITAL_FORMAT": "Digital Date Format",
+		"TOOLS_QUERY": "Query",
+		"SELECT": "Select",
+		"WHERE": "Where",
+		"BACK": "Back",
+		"PROJECT": "Project",
+		"GOTOREALTIME_TRUNK": "Go To Realtime Trunk",
+		"GOTO_TRUNK": "Go To Trunk",
+		"CRON": "Cron",
+		"MINUTES": "Minutes",
+		"HOURLY": "Hourly",
+		"YEARLY": "Yearly",
+		"EVERY": "Every",
+		"MINUTE": "Minute",
+		"ON_SECOND": "On second",
+		"HOUR_ON_MINUTE": "Hour on minute",
+		"AND_SECOND": "And second",
+		"DAY_AT": "Day at",
+		"START_TIME": "Start Time",
+		"ON_THE": "On the",
+		"OF_EVERY": "Of every",
+		"MONTH_AT": "Month at",
+		"AT": "At",
+		"LAST": "Last",
+		"LASTUNIT": "Unit",
+		"MAILACCOUNT": "Email Account",
+		"OF": "of",
+		"PAST_THE_HOUR": "Past the hour",
+		"DAY": "Day",
+		"WEEK": "Week",
+		"YEAR": "Year",
+		"ON": "On",
+		"PAI": "P-Asserted-Identity",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"EVENTVARIABLES": "Event Variables",
+		"AUTOCREATECONTACT": "Create contact automatically",
+		"LOCATION": "Location",
+		"NEW_TAB": "New Tab",
+		"NEW_WINDOW": "New Window",
+		"WINDOWWIDTH": "Window Width(px)",
+		"WINDOWHEIGHT": "Window Height(px)",
+		"BODY": "Body",
+		"REPORTFOLDER": "Report Folder",
+		"REPORTSUBFOLDER": "Report Subfolder",
+		"AGENT": "Činidlo",
+		"HEADERS": "Záhlaví",
+		"MOTION_TAB": "Nová karta řídicího panelu agenta",
+		"PREVIOUSCONTACT": "Předchozí",
+		"SCRIPT": "Skript",
+		"SCRIPT_INFO": "Info",
+		"SCRIPT_TYPE": "Typ",
+		"VIDEOSUPPORT": "Video podpora",
+		"WHATSAPP": "WhatsApp Connector"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/tools/i18n/et.json b/public/app/main/apps/tools/i18n/et.json
new file mode 100644
index 0000000..080d907
--- /dev/null
+++ b/public/app/main/apps/tools/i18n/et.json
@@ -0,0 +1,457 @@
+{
+	"TOOLS": {
+		"BOT": "Voicebot",
+		"CLONE_TRUNK": "Clone Trunk",
+		"DISPOSITIONS": "Dispositions",
+		"NEW_DISPOSITION": "New Disposition",
+		"ADD_DISPOSITION": "Add Disposition",
+		"EDIT_DISPOSITION": "Edit Disposition",
+		"DELETE_DISPOSITION": "Delete Disposition",
+		"RUN_SCHEDULE": "Run schedule",
+		"SENDIFEMPTY": "Send if empty",
+		"NEXTCONTACT": "Next",
+		"OUTBOUND_ROUTE": "Outbound Route",
+		"EDIT_DASHBOARDITEM": "Edit Dashboard Widget",
+		"FONTSIZE": "Font Size",
+		"CLONE_CUSTOMDASHBOARD": "Clone Custom Dashboard",
+		"LINK": "Link [https://]",
+		"BACKGROUND": "Background",
+		"FOREGROUND": "Foreground",
+		"NONE": "None",
+		"TOTAL": "Total",
+		"ABANDONED": "Abandoned",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"ANSWERED": "Answered",
+		"UNMANAGED": "Unmanaged",
+		"CUSTOMTYPE": "Custom [path]",
+		"WEBREPORT": "Web Report",
+		"PIECHART": "Pie Chart",
+		"MULTIBARCHART": "Multibar Chart",
+		"MOVE_WIDGET": "Move Widget",
+		"USERADD_CUSTOMDASHBOARD": "Add User Permissions",
+		"GOTODASHBOARD_CUSTOMDASHBOARD": "Go to preview dashboard",
+		"GOTO_CUSTOMDASHBOARD": "Go to preview dashboard",
+		"METRIC": "Metric",
+		"FILTERVOICEQUEUES": "Filter Voice Queues",
+		"SERIE1": "Serie 1",
+		"SERIE2": "Serie 2",
+		"SERIE3": "Serie 3",
+		"REFRESH": "Refresh [s]",
+		"FORMAT": "Format",
+		"PATH": "Absolute Path",
+		"ALL_USERS": "All Users",
+		"SELECTED_USERS": "Selected Users",
+		"ADD_WIDGET": "Add Widget",
+		"COLOR": "Color",
+		"FAX": "Fax",
+		"INTERACTION": "Interaction",
+		"MESSAGE": "Message",
+		"T38PT_UDPTL": "T38pt Udptl",
+		"CALL": "Call",
+		"NAME": "Name",
+		"TRUNKS": "Trunks",
+		"SEARCH_FOR_ANYONE": "Search",
+		"ERRORS": {
+			"NAME_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TITLE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"REFRESH_REQUIRED": "Mandatory field",
+			"FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONTSIZE_REQUIRED": "Mandatory field",
+			"PATH_REQUIRED": "Mandatory field",
+			"FORMAT_REQUIRED": "Mandatory field",
+			"REPORT_REQUIRED": "Mandatory field",
+			"TYPE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"ACCOUNT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"DEFAULTUSER_REQUIRED": "Mandatory field",
+			"CALLERID_REQUIRED": "Mandatory field",
+			"KEY_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The Passwords don't match",
+			"VALIDITYSTART_REQUIRED": "Mandatory field",
+			"VALIDITYEND_REQUIRED": "Mandatory field",
+			"MONTHDAY_REQUIRED": "Mandatory field",
+			"HOUR_REQUIRED": "Mandatory field",
+			"CONTENT_REQUIRED": "Mandatory field",
+			"URL_REQUIRED": "Mandatory field",
+			"URL_MUST_VALID_URL": "Wrong format",
+			"APPLICATION_REQUIRED": "Mandatory field",
+			"ARGUMENTS_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"POLLING_INTERVAL_REQUIRED": "Mandatory field",
+			"TITLE_REQUIRED": "Mandatory field",
+			"EMAILADDRESS_REQUIRED": "Mandatory field",
+			"EVENTVARIABLES_REQUIRED": "Mandatory field",
+			"INTEGRATION_REQUIRED": "Mandatory field",
+			"LIST_REQUIRED": "Mandatory field",
+			"TEMPLATE_REQUIRED": "Mandatory field",
+			"AUTOCREATECONTACT_REQUIRED": "Mandatory field",
+			"OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"TIME_RANGE_TO_REQUIRED": "Mandatory field",
+			"WEEK_DAYS_TO_REQUIRED": "Mandatory field",
+			"MONTH_DAYS_TO_REQUIRED": "Mandatory field",
+			"MONTH_TO_REQUIRED": "Mandatory field",
+			"TIME_RANGE_FROM_INVALID": "Wrong Format",
+			"TIME_RANGE_TO_INVALID": "Wrong Format",
+			"ACTION_REQUIRED": "Mandatory field",
+			"CONFIGURATION_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"LOCATION_REQUIRED": "Mandatory field",
+			"OUTPUT_REQUIRED": "Mandatory field",
+			"REPORTTYPE_REQUIRED": "Mandatory field",
+			"REPORTFOLDER_REQUIRED": "Mandatory field",
+			"REPORTSUBFOLDER_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Kohustuslik väli",
+			"INFO_REQUIRED": "Kohustuslik väli",
+			"SCRIPT_REQUIRED": "Kohustuslik väli",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne",
+			"TIMEOUT_REQUIRED": "Kohustuslik väli"
+		},
+		"HOST": "Host",
+		"SECRET": "Secret",
+		"DEFAULTUSER": "Default User",
+		"DESCRIPTION": "Description",
+		"ADD_TRUNK": "Add Trunk",
+		"HELP": {
+			"T38PT_UDPTL": "Es: yes,redundancy,maxdatagram=400",
+			"SECRET": "Authentication password",
+			"HOST": "The domain or host name",
+			"DEFAULTUSER": "Authentication username",
+			"CALLERID": "The Caller ID, in the format \"name\" <number>",
+			"REGISTRY": "The registry string, if required by provider, usually defaultuser:secret@host",
+			"FROMDOMAIN": "Set default From:domain in SIP messages when acting as a SIP ua (client). Some destinations may require mandatory identity name instead of only the IP address",
+			"FROMUSER": "How your provider knows you. This is which user to put instead of callerid when placing calls to peer (another SIP proxy). Valid only for type=peer.",
+			"OUTBOUNDPROXY": "IP_address or DNS SRV name (excluding the _sip._udp prefix): SRV name, hostname, or IP address of the outbound SIP Proxy. Send outbound signaling to this proxy, not directly to the devices. Valid only for type=peer.",
+			"PORT": "The SIP port number",
+			"CONTEXT": "The context for the trunk",
+			"TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
+			"DTMFMODE": "How DTMF (Dual-Tone Multi-Frequency) are sent. RFC2833: the default mode, the DTMF are sent with RTP but outside the audio stream. INBAND: The DTMF is sent in audio stream of the current conversation, becoming audible from the speakers. Requires a high CPU load. INFO: Although this method is very reliable, it is not supported by all PBX devices and many SIP Trunks.",
+			"NAT": "Change the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore any other settings and set nat=no.",
+			"QUALIFY": "Determine when the SIP is achievable",
+			"ALLOWCODECS": "Allowed codecs in order of preference",
+			"INSECURE": "Specify how to handle connections with peer, allowing insecure settings",
+			"CALL_LIMIT": "The limit number of the inbound and outbound concurrent calls",
+			"DIRECTMEDIA": "Asterisk by default tries to redirect the RTP media stream to go directly from the caller to the callee. Some devices do not support this (especially if one of them is behind a NAT). The default setting is YES. If you have all clients behind a NAT, or for some other reason want Asterisk to stay in the audio path, you may want to turn this off.",
+			"CALLCOUNTER": "Enable call counters on devices",
+			"ADD_PHONE_TO_URI": "Define if the provider requires ';user=phone' on URL",
+			"TRUST_REMOTE_PARTY_ID": "Define if Remote-Party-ID should be trusted",
+			"SEND_REMOTE_PARTY_ID_HEADER": "Define if Remote-Party-ID should be sent (defaults is no)",
+			"ENCRYPTION": "Whether to offer SRTP encrypted media (and only SRTP encrypted media) on outgoing calls to a peer. Calls will fail with HANGUPCAUSE=58 if the peer does not support SRTP. Defaults value is No",
+			"TRANSPORT": "Set the default transports, in order of preference",
+			"OTHERFIELDS": "Other fields to add in the trunks conf files. Follow default asterisk format (key=value), each field on a single row",
+			"EMAILADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"EMAILCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"EMAILBCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"EVENTVARIABLES": "If enabled, it adds all the event variables to the url (recommended value=No. Set to Yes only for evaluation purposes) ",
+			"BODY": "If not filled out, the default value will be sent",
+			"HEADERS": "Märkus. Päiste jaotis peab olema RAW JSON-vormingus {\"võti\": \"väärtus\"}\nMärkus: kui seda ei täideta, saadetakse vaikeväärtus",
+			"INFO": "Sisestage pealkiri",
+			"SCRIPT": "Sisestage skript",
+			"SCRIPT_INFO": "Sisestage skripti kirjeldus",
+			"SCRIPT_TYPE": "Sisestage skripti tüpoloogia (nt curl, bash ...)",
+			"TIMEOUT": "Taotle sekundit sekundit. Väärtus peab olema vahemikus 1–10 ja vaikeväärtus 5."
+		},
+		"EDIT_TRUNK": "Edit Trunk",
+		"DELETE_TRUNK": "Delete Trunk",
+		"CREATED_AT": "Created At",
+		"SETTINGS": "Settings",
+		"ADVANCED": "Advanced",
+		"OTHER": "Other",
+		"ACTIVE": "Active",
+		"CONTEXT": "Context",
+		"CALLERID": "Caller ID",
+		"TYPE": "Type",
+		"DTMFMODE": "DTMF Mode",
+		"NAT": "NAT",
+		"QUALIFY": "Qualify",
+		"ALLOWCODECS": "Allowed Codecs",
+		"INSECURE": "Insecure",
+		"REGISTRY": "Registry",
+		"DIRECTMEDIA": "Direct Media",
+		"CALLCOUNTER": "Call Counter",
+		"FROMDOMAIN": "From Domain",
+		"FROMUSER": "From User",
+		"OUTBOUNDPROXY": "Outbound Proxy",
+		"ADD_PHONE_TO_URI": "Add Phone to URL",
+		"TRUST_REMOTE_PARTY_ID": "Trust Remote Party ID",
+		"SEND_REMOTE_PARTY_ID_HEADER": "Send Remote Party ID Header",
+		"ENCRYPTION": "Encryption",
+		"PORT": "Port",
+		"TRANSPORT": "Transport",
+		"SAVE": "Save",
+		"VARIABLES": "Variables",
+		"ADD_VARIABLE": "Add Variable",
+		"EDIT_VARIABLE": "Edit Variable",
+		"DELETE_VARIABLE": "Delete Variable",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"TAGS": "Tags",
+		"ADD_TAG": "Add Tag",
+		"EDIT_TAG": "Edit Tag",
+		"DELETE_TAG": "Delete Tag",
+		"PAUSES": "Pauses",
+		"ADD_PAUSE": "Add Pause",
+		"EDIT_PAUSE": "Edit Pause",
+		"DELETE_PAUSE": "Delete Pause",
+		"CANNEDANSWERS": "Canned Answers",
+		"ADD_CANNEDANSWER": "Add Canned Answer",
+		"EDIT_CANNEDANSWER": "Edit Canned Answer",
+		"DELETE_CANNEDANSWER": "Delete Canned Answer",
+		"KEY": "Key",
+		"VALUE": "Value",
+		"SOUNDS": "Sounds",
+		"EDIT_SOUND": "Edit Sound",
+		"DELETE_SOUND": "Delete Sound",
+		"CANCEL": "Cancel",
+		"FINISH": "Finish",
+		"DROP_TO_UPLOAD": "Drop To Upload",
+		"UPLOADING": "Uploading",
+		"TRIGGERS": "Triggers",
+		"EDIT_TRIGGER": "Edit Trigger",
+		"DELETE_TRIGGER": "Delete Trigger",
+		"ADD_TRIGGER": "Add Trigger",
+		"DELETE": "Delete",
+		"AUTOMATIONS": "Automations",
+		"EDIT_AUTOMATION": "Edit Automation",
+		"DELETE_AUTOMATION": "Delete Automation",
+		"ADD_AUTOMATION": "Add Automation",
+		"INTERVALS": "Intervals",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_INTERVAL": "Delete Interval",
+		"ADD_INTERVAL": "Add Interval",
+		"TOOLS": "Tools",
+		"ID": "Id",
+		"AUDIO": "Audio",
+		"DOWNLOAD_SOUND": "Download Sound",
+		"UPLOAD_SOUND": "Tools",
+		"CHANNEL": "Channel",
+		"NEW_TRIGGER": "New Trigger",
+		"GENERAL": "General",
+		"STATUS": "Status",
+		"CONDITIONS&ACTIONS": "Conditions & Actions",
+		"ALLCONDITIONS": "Meet all these conditions:",
+		"ANYCONDITIONS": "Meet any of these conditions:",
+		"ACTIONS": "Actions:",
+		"NEW_AUTOMATION": "New Automation",
+		"TIMEOUT": "Timeout",
+		"PEERSTATUS": "Peer Status",
+		"CALL_LIMIT": "Calls Limit",
+		"OTHERFIELDS": "Other Fields",
+		"NEW_VARIABLE": "New Variable",
+		"NEW_TAG": "New Tag",
+		"NEW_PAUSE": "New Pause",
+		"NEW_CANNEDANSWER": "New Canned Answer",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"NEW_TRUNK": "New Trunk",
+		"FROM": "From",
+		"TO": "To",
+		"WEEKDAY": "Week Day",
+		"MONTHDAY": "Month Day",
+		"MONTH": "Month",
+		"ALWAYS": "Always",
+		"MON": "Monday",
+		"TUE": "Tuesday",
+		"WED": "Wednesday",
+		"THU": "Thursday",
+		"FRI": "Friday",
+		"SAT": "Saturday",
+		"SUN": "Sunday",
+		"JAN": "January",
+		"FEB": "February",
+		"MAR": "March",
+		"APR": "April",
+		"MAY": "May",
+		"JUN": "June",
+		"JUL": "July",
+		"AUG": "August",
+		"SEP": "September",
+		"OCT": "October",
+		"NOV": "November",
+		"DEC": "December",
+		"PASSWORD": "Password",
+		"CUSTOMDASHBOARDS": "Custom Dashboards",
+		"NEW_CUSTOMDASHBOARD": "New Custom Dashboard",
+		"ADD_CUSTOMDASHBOARD": "Add Custom Dashboard",
+		"EDIT_CUSTOMDASHBOARD": "Edit Custom Dashboard",
+		"DELETE_CUSTOMDASHBOARD": "Delete Custom Dashboard",
+		"SCHEDULER": "Scheduler",
+		"NEW_SCHEDULE": "New Schedule",
+		"ADD_SCHEDULE": "Add Schedule",
+		"EDIT_SCHEDULE": "Edit Schedule",
+		"DELETE_SCHEDULE": "Delete Schedule",
+		"SENDMAIL": "Send Email",
+		"CONFIGURATION": "Configuration",
+		"MAIL": "Email",
+		"REPORTTYPE": "Report Type",
+		"REPORT": "Report",
+		"OUTPUT": "Output",
+		"EXECUTEON": "Execute On",
+		"REPORTRANGE": "Report Range",
+		"VALIDITYSTART": "Start Time",
+		"VALIDITYEND": "End Time",
+		"EXECUTEEVERY": "Execute every",
+		"ACCOUNT": "Account",
+		"EMAILADDRESS": "Email Address",
+		"EMAILCCADDRESS": "Cc",
+		"EMAILBCCADDRESS": "Bcc",
+		"CURRENTDAY": "Current Day",
+		"DAILY": "Daily",
+		"WEEKLY": "Weekly",
+		"MONTHLY": "Monthly",
+		"PREVIOUS_DAY": "Previous Day",
+		"LAST_SEVEN_DAYS": "Last Seven Days",
+		"LAST_THIRTY_DAYS": "Last Thirthy Days",
+		"LAST_MONTH": "Last Month",
+		"WEEKDAYS": "Week Days",
+		"HOUR": "Hour",
+		"DEFAULT": "Default",
+		"CSV": "CSV",
+		"PDF": "PDF",
+		"15MIN": "15 minutes",
+		"30MIN": "30 minutes",
+		"1H": "1 hour",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"TEMPLATES": "Templates",
+		"EDIT_TEMPLATE": "Edit Template",
+		"DELETE_TEMPLATE": "Delete Template",
+		"NEW_TEMPLATE": "New Template",
+		"ADD_TEMPLATE": "Add Template",
+		"CONTENT": "Content",
+		"FIELD": "Field",
+		"NO_ANYCONDITION_AVAILABLE": "No Conditions available",
+		"NO_ALLCONDITION_AVAILABLE": "No Conditions available",
+		"NO_ACTION_AVAILABLE": "No Actions available",
+		"ACTION": "Action",
+		"EDIT_ANYCONDITION": "Edit Condition",
+		"DELETE_ANYCONDITION": "Delete Condition",
+		"NEW_ANYCONDITION": "New Condition",
+		"ADD_ANYCONDITION": "Add Condition",
+		"EDIT_ALLCONDITION": "Edit Condition",
+		"DELETE_ALLCONDITION": "Delete Condition",
+		"NEW_ALLCONDITION": "New Condition",
+		"ADD_ALLCONDITION": "Add Condition",
+		"EDIT_ACTION": "Edit Action",
+		"DELETE_ACTION": "Delete Action",
+		"NEW_ACTION": "New Action",
+		"ADD_ACTION": "Add Action",
+		"QUEUE": "Queue",
+		"CALL_STATUS": "Call Status",
+		"OUTBOUNDROUTE": "Outbound Route",
+		"EQUALS": "Equals",
+		"NOT_EQUALS": "Not Equals",
+		"CONTACT_MANAGER": "Contacts Manager",
+		"INTEGRATIONS": "Integrations",
+		"MOTION_BAR": "Motion Bar",
+		"JSCRIPTY": "Jscripty",
+		"URL_FORWARD": "URL Forward",
+		"WEB_POPUP": "Web Popup",
+		"LIST": "List",
+		"INTEGRATION": "Integration",
+		"TEMPLATE": "Template",
+		"URL": "URL",
+		"APPLICATION": "Application",
+		"ARGUMENTS": "Arguments",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"NEW_INTERVAL": "New Interval",
+		"OPERATOR": "Operator",
+		"NO_INTERVALS_AVAILABLE": "No intervals available",
+		"YES": "Yes",
+		"NO": "No",
+		"SUBJECT": "Subject",
+		"NO_AVAILABLE_INFO": "No available info",
+		"BROWSER": "Browser",
+		"INTERVAL": "Interval",
+		"INFO": "Info",
+		"TIME_RANGE": "Time Range",
+		"WEEK_DAYS": "Week Days",
+		"MONTH_DAYS": "Month Days",
+		"MONTHS": "Months",
+		"DROP_TO_UPLOAD_MESSAGE": "Drop audio files here to upload. Only MP3, WAV, GSM - Max. 15MB",
+		"POLLING_INTERVAL": "Polling Interval (seconds)",
+		"DASHBOARD": "Dashboard",
+		"NEW_DASHBOARDITEM": "New Dashboard Widget",
+		"COUNTER": "Counter",
+		"IFRAME": "IFrame",
+		"CLOCK": "Clock",
+		"ADD_DASHBOARDITEM": "Add Dashboard Widget",
+		"EDIT_WIDGET": "Edit Widget",
+		"DELETE_WIDGET": "Delete Widget",
+		"FLIP_WIDGET": "Flip Widget",
+		"TITLE": "Title",
+		"UPDATE": "Update",
+		"LAYOUT": "Layout",
+		"BACKGROUND_COLOR": "Background Color",
+		"FOREGROUND_COLOR": "Foreground Color",
+		"FOREGROUND_TITLE_COLOR": "Foreground Title Color",
+		"THEME": "Theme",
+		"LIGHT": "Light",
+		"DARK": "Dark",
+		"TIMEZONE": "TimeZone",
+		"DIGITAL_FORMAT": "Digital Date Format",
+		"TOOLS_QUERY": "Query",
+		"SELECT": "Select",
+		"WHERE": "Where",
+		"BACK": "Back",
+		"PROJECT": "Project",
+		"GOTOREALTIME_TRUNK": "Go To Realtime Trunk",
+		"GOTO_TRUNK": "Go To Trunk",
+		"CRON": "Cron",
+		"MINUTES": "Minutes",
+		"HOURLY": "Hourly",
+		"YEARLY": "Yearly",
+		"EVERY": "Every",
+		"MINUTE": "Minute",
+		"ON_SECOND": "On second",
+		"HOUR_ON_MINUTE": "Hour on minute",
+		"AND_SECOND": "And second",
+		"DAY_AT": "Day at",
+		"START_TIME": "Start Time",
+		"ON_THE": "On the",
+		"OF_EVERY": "Of every",
+		"MONTH_AT": "Month at",
+		"AT": "At",
+		"LAST": "Last",
+		"LASTUNIT": "Unit",
+		"MAILACCOUNT": "Email Account",
+		"OF": "of",
+		"PAST_THE_HOUR": "Past the hour",
+		"DAY": "Day",
+		"WEEK": "Week",
+		"YEAR": "Year",
+		"ON": "On",
+		"PAI": "P-Asserted-Identity",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"EVENTVARIABLES": "Event Variables",
+		"AUTOCREATECONTACT": "Create contact automatically",
+		"LOCATION": "Location",
+		"NEW_TAB": "New Tab",
+		"NEW_WINDOW": "New Window",
+		"WINDOWWIDTH": "Window Width(px)",
+		"WINDOWHEIGHT": "Window Height(px)",
+		"BODY": "Body",
+		"REPORTFOLDER": "Report Folder",
+		"REPORTSUBFOLDER": "Report Subfolder",
+		"AGENT": "Agent",
+		"HEADERS": "Päised",
+		"MOTION_TAB": "Uus esindaja juhtpaneeli vahekaart",
+		"PREVIOUSCONTACT": "Eelmine",
+		"SCRIPT": "Skript",
+		"SCRIPT_INFO": "Info",
+		"SCRIPT_TYPE": "Tüüp",
+		"VIDEOSUPPORT": "Video tugi",
+		"WHATSAPP": "WhatsApp-pistik"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/tools/i18n/lt.json b/public/app/main/apps/tools/i18n/lt.json
new file mode 100644
index 0000000..b157e5f
--- /dev/null
+++ b/public/app/main/apps/tools/i18n/lt.json
@@ -0,0 +1,457 @@
+{
+	"TOOLS": {
+		"VIDEOSUPPORT": "Video support",
+		"PREVIOUSCONTACT": "Previous",
+		"BOT": "Voicebot",
+		"CLONE_TRUNK": "Clone Trunk",
+		"DISPOSITIONS": "Dispositions",
+		"NEW_DISPOSITION": "New Disposition",
+		"ADD_DISPOSITION": "Add Disposition",
+		"EDIT_DISPOSITION": "Edit Disposition",
+		"DELETE_DISPOSITION": "Delete Disposition",
+		"RUN_SCHEDULE": "Run schedule",
+		"SENDIFEMPTY": "Send if empty",
+		"NEXTCONTACT": "Next",
+		"OUTBOUND_ROUTE": "Outbound Route",
+		"EDIT_DASHBOARDITEM": "Edit Dashboard Widget",
+		"FONTSIZE": "Font Size",
+		"CLONE_CUSTOMDASHBOARD": "Clone Custom Dashboard",
+		"LINK": "Link [https://]",
+		"BACKGROUND": "Background",
+		"FOREGROUND": "Foreground",
+		"NONE": "None",
+		"TOTAL": "Total",
+		"ABANDONED": "Abandoned",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"ANSWERED": "Answered",
+		"UNMANAGED": "Unmanaged",
+		"CUSTOMTYPE": "Custom [path]",
+		"WEBREPORT": "Web Report",
+		"PIECHART": "Pie Chart",
+		"MULTIBARCHART": "Multibar Chart",
+		"MOVE_WIDGET": "Move Widget",
+		"USERADD_CUSTOMDASHBOARD": "Add User Permissions",
+		"GOTODASHBOARD_CUSTOMDASHBOARD": "Go to preview dashboard",
+		"GOTO_CUSTOMDASHBOARD": "Go to preview dashboard",
+		"METRIC": "Metric",
+		"FILTERVOICEQUEUES": "Filter Voice Queues",
+		"SERIE1": "Serie 1",
+		"SERIE2": "Serie 2",
+		"SERIE3": "Serie 3",
+		"REFRESH": "Refresh [s]",
+		"FORMAT": "Format",
+		"PATH": "Absolute Path",
+		"ALL_USERS": "All Users",
+		"SELECTED_USERS": "Selected Users",
+		"ADD_WIDGET": "Add Widget",
+		"COLOR": "Color",
+		"FAX": "Fax",
+		"INTERACTION": "Interaction",
+		"MESSAGE": "Message",
+		"T38PT_UDPTL": "T38pt Udptl",
+		"CALL": "Call",
+		"NAME": "Name",
+		"TRUNKS": "Trunks",
+		"SEARCH_FOR_ANYONE": "Search",
+		"SCRIPT": "Script",
+		"SCRIPT_INFO": "Info",
+		"SCRIPT_TYPE": "Type",
+		"ERRORS": {
+			"INFO_REQUIRED": "Mandatory field",
+			"SCRIPT_REQUIRED": "Mandatory field",
+			"NAME_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"TITLE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"REFRESH_REQUIRED": "Mandatory field",
+			"FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"FONTSIZE_REQUIRED": "Mandatory field",
+			"PATH_REQUIRED": "Mandatory field",
+			"FORMAT_REQUIRED": "Mandatory field",
+			"REPORT_REQUIRED": "Mandatory field",
+			"TYPE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"ACCOUNT_REQUIRED": "Mandatory field",
+			"FIELD_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"HOST_REQUIRED": "Mandatory field",
+			"DEFAULTUSER_REQUIRED": "Mandatory field",
+			"CALLERID_REQUIRED": "Mandatory field",
+			"KEY_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The Passwords don't match",
+			"VALIDITYSTART_REQUIRED": "Mandatory field",
+			"VALIDITYEND_REQUIRED": "Mandatory field",
+			"MONTHDAY_REQUIRED": "Mandatory field",
+			"HOUR_REQUIRED": "Mandatory field",
+			"CONTENT_REQUIRED": "Mandatory field",
+			"URL_REQUIRED": "Mandatory field",
+			"URL_MUST_VALID_URL": "Wrong format",
+			"APPLICATION_REQUIRED": "Mandatory field",
+			"ARGUMENTS_REQUIRED": "Mandatory field",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"POLLING_INTERVAL_REQUIRED": "Mandatory field",
+			"TITLE_REQUIRED": "Mandatory field",
+			"EMAILADDRESS_REQUIRED": "Mandatory field",
+			"EVENTVARIABLES_REQUIRED": "Mandatory field",
+			"INTEGRATION_REQUIRED": "Mandatory field",
+			"LIST_REQUIRED": "Mandatory field",
+			"TEMPLATE_REQUIRED": "Mandatory field",
+			"AUTOCREATECONTACT_REQUIRED": "Mandatory field",
+			"OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+			"QUEUE_REQUIRED": "Mandatory field",
+			"TIME_RANGE_TO_REQUIRED": "Mandatory field",
+			"WEEK_DAYS_TO_REQUIRED": "Mandatory field",
+			"MONTH_DAYS_TO_REQUIRED": "Mandatory field",
+			"MONTH_TO_REQUIRED": "Mandatory field",
+			"TIME_RANGE_FROM_INVALID": "Wrong Format",
+			"TIME_RANGE_TO_INVALID": "Wrong Format",
+			"ACTION_REQUIRED": "Mandatory field",
+			"CONFIGURATION_REQUIRED": "Mandatory field",
+			"PROJECT_REQUIRED": "Mandatory field",
+			"LOCATION_REQUIRED": "Mandatory field",
+			"OUTPUT_REQUIRED": "Mandatory field",
+			"REPORTTYPE_REQUIRED": "Mandatory field",
+			"REPORTFOLDER_REQUIRED": "Mandatory field",
+			"REPORTSUBFOLDER_REQUIRED": "Mandatory field",
+			"AGENT_REQUIRED": "Mandatory field",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to"
+		},
+		"HOST": "Host",
+		"SECRET": "Secret",
+		"DEFAULTUSER": "Default User",
+		"DESCRIPTION": "Description",
+		"ADD_TRUNK": "Add Trunk",
+		"HELP": {
+			"SCRIPT_INFO": "Insert a description for the script",
+			"SCRIPT_TYPE": "Insert a typology for the script (eg. curl, bash...)",
+			"INFO": "Insert title",
+			"SCRIPT": "Insert script",
+			"T38PT_UDPTL": "Es: yes,redundancy,maxdatagram=400",
+			"SECRET": "Authentication password",
+			"HOST": "The domain or host name",
+			"DEFAULTUSER": "Authentication username",
+			"CALLERID": "The Caller ID, in the format \"name\" <number>",
+			"REGISTRY": "The registry string, if required by provider, usually defaultuser:secret@host",
+			"FROMDOMAIN": "Set default From:domain in SIP messages when acting as a SIP ua (client). Some destinations may require mandatory identity name instead of only the IP address",
+			"FROMUSER": "How your provider knows you. This is which user to put instead of callerid when placing calls to peer (another SIP proxy). Valid only for type=peer.",
+			"OUTBOUNDPROXY": "IP_address or DNS SRV name (excluding the _sip._udp prefix): SRV name, hostname, or IP address of the outbound SIP Proxy. Send outbound signaling to this proxy, not directly to the devices. Valid only for type=peer.",
+			"PORT": "The SIP port number",
+			"CONTEXT": "The context for the trunk",
+			"TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
+			"DTMFMODE": "How DTMF (Dual-Tone Multi-Frequency) are sent. RFC2833: the default mode, the DTMF are sent with RTP but outside the audio stream. INBAND: The DTMF is sent in audio stream of the current conversation, becoming audible from the speakers. Requires a high CPU load. INFO: Although this method is very reliable, it is not supported by all PBX devices and many SIP Trunks.",
+			"NAT": "Change the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore any other settings and set nat=no.",
+			"QUALIFY": "Determine when the SIP is achievable",
+			"ALLOWCODECS": "Allowed codecs in order of preference",
+			"INSECURE": "Specify how to handle connections with peer, allowing insecure settings",
+			"CALL_LIMIT": "The limit number of the inbound and outbound concurrent calls",
+			"DIRECTMEDIA": "Asterisk by default tries to redirect the RTP media stream to go directly from the caller to the callee. Some devices do not support this (especially if one of them is behind a NAT). The default setting is YES. If you have all clients behind a NAT, or for some other reason want Asterisk to stay in the audio path, you may want to turn this off.",
+			"CALLCOUNTER": "Enable call counters on devices",
+			"ADD_PHONE_TO_URI": "Define if the provider requires ';user=phone' on URL",
+			"TRUST_REMOTE_PARTY_ID": "Define if Remote-Party-ID should be trusted",
+			"SEND_REMOTE_PARTY_ID_HEADER": "Define if Remote-Party-ID should be sent (defaults is no)",
+			"ENCRYPTION": "Whether to offer SRTP encrypted media (and only SRTP encrypted media) on outgoing calls to a peer. Calls will fail with HANGUPCAUSE=58 if the peer does not support SRTP. Defaults value is No",
+			"TRANSPORT": "Set the default transports, in order of preference",
+			"OTHERFIELDS": "Other fields to add in the trunks conf files. Follow default asterisk format (key=value), each field on a single row",
+			"EMAILADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"EMAILCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"EMAILBCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"EVENTVARIABLES": "If enabled, it adds all the event variables to the url (recommended value=No. Set to Yes only for evaluation purposes) ",
+			"HEADERS": "Note: Headers section must be in RAW JSON format {\"key\":\"value\"} \nNote: If not filled out, the default value will be sent",
+			"BODY": "Note: the body must be in RAW JSON format {\"key\":\"value\"} \nNote: If not filled out, the default value will be sent",
+			"TIMEOUT": "Request timeout in seconds. The value must be between 1 and 10 and the default value is 5."
+		},
+		"EDIT_TRUNK": "Edit Trunk",
+		"DELETE_TRUNK": "Delete Trunk",
+		"CREATED_AT": "Created At",
+		"SETTINGS": "Settings",
+		"ADVANCED": "Advanced",
+		"OTHER": "Other",
+		"ACTIVE": "Active",
+		"CONTEXT": "Context",
+		"CALLERID": "Caller ID",
+		"TYPE": "Type",
+		"DTMFMODE": "DTMF Mode",
+		"NAT": "NAT",
+		"QUALIFY": "Qualify",
+		"ALLOWCODECS": "Allowed Codecs",
+		"INSECURE": "Insecure",
+		"REGISTRY": "Registry",
+		"DIRECTMEDIA": "Direct Media",
+		"CALLCOUNTER": "Call Counter",
+		"FROMDOMAIN": "From Domain",
+		"FROMUSER": "From User",
+		"OUTBOUNDPROXY": "Outbound Proxy",
+		"ADD_PHONE_TO_URI": "Add Phone to URL",
+		"TRUST_REMOTE_PARTY_ID": "Trust Remote Party ID",
+		"SEND_REMOTE_PARTY_ID_HEADER": "Send Remote Party ID Header",
+		"ENCRYPTION": "Encryption",
+		"PORT": "Port",
+		"TRANSPORT": "Transport",
+		"SAVE": "Save",
+		"VARIABLES": "Variables",
+		"ADD_VARIABLE": "Add Variable",
+		"EDIT_VARIABLE": "Edit Variable",
+		"DELETE_VARIABLE": "Delete Variable",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"TAGS": "Tags",
+		"ADD_TAG": "Add Tag",
+		"EDIT_TAG": "Edit Tag",
+		"DELETE_TAG": "Delete Tag",
+		"PAUSES": "Pauses",
+		"ADD_PAUSE": "Add Pause",
+		"EDIT_PAUSE": "Edit Pause",
+		"DELETE_PAUSE": "Delete Pause",
+		"CANNEDANSWERS": "Canned Answers",
+		"ADD_CANNEDANSWER": "Add Canned Answer",
+		"EDIT_CANNEDANSWER": "Edit Canned Answer",
+		"DELETE_CANNEDANSWER": "Delete Canned Answer",
+		"KEY": "Key",
+		"VALUE": "Value",
+		"SOUNDS": "Sounds",
+		"EDIT_SOUND": "Edit Sound",
+		"DELETE_SOUND": "Delete Sound",
+		"CANCEL": "Cancel",
+		"FINISH": "Finish",
+		"DROP_TO_UPLOAD": "Drop To Upload",
+		"UPLOADING": "Uploading",
+		"TRIGGERS": "Triggers",
+		"EDIT_TRIGGER": "Edit Trigger",
+		"DELETE_TRIGGER": "Delete Trigger",
+		"ADD_TRIGGER": "Add Trigger",
+		"DELETE": "Delete",
+		"AUTOMATIONS": "Automations",
+		"EDIT_AUTOMATION": "Edit Automation",
+		"DELETE_AUTOMATION": "Delete Automation",
+		"ADD_AUTOMATION": "Add Automation",
+		"INTERVALS": "Intervals",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_INTERVAL": "Delete Interval",
+		"ADD_INTERVAL": "Add Interval",
+		"TOOLS": "Tools",
+		"ID": "Id",
+		"AUDIO": "Audio",
+		"DOWNLOAD_SOUND": "Download Sound",
+		"UPLOAD_SOUND": "Tools",
+		"CHANNEL": "Channel",
+		"NEW_TRIGGER": "New Trigger",
+		"GENERAL": "General",
+		"STATUS": "Status",
+		"CONDITIONS&ACTIONS": "Conditions & Actions",
+		"ALLCONDITIONS": "Meet all these conditions:",
+		"ANYCONDITIONS": "Meet any of these conditions:",
+		"ACTIONS": "Actions:",
+		"NEW_AUTOMATION": "New Automation",
+		"TIMEOUT": "Timeout",
+		"PEERSTATUS": "Peer Status",
+		"CALL_LIMIT": "Calls Limit",
+		"OTHERFIELDS": "Other Fields",
+		"NEW_VARIABLE": "New Variable",
+		"NEW_TAG": "New Tag",
+		"NEW_PAUSE": "New Pause",
+		"NEW_CANNEDANSWER": "New Canned Answer",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"NEW_TRUNK": "New Trunk",
+		"FROM": "From",
+		"TO": "To",
+		"WEEKDAY": "Week Day",
+		"MONTHDAY": "Month Day",
+		"MONTH": "Month",
+		"ALWAYS": "Always",
+		"MON": "Monday",
+		"TUE": "Tuesday",
+		"WED": "Wednesday",
+		"THU": "Thursday",
+		"FRI": "Friday",
+		"SAT": "Saturday",
+		"SUN": "Sunday",
+		"JAN": "January",
+		"FEB": "February",
+		"MAR": "March",
+		"APR": "April",
+		"MAY": "May",
+		"JUN": "June",
+		"JUL": "July",
+		"AUG": "August",
+		"SEP": "September",
+		"OCT": "October",
+		"NOV": "November",
+		"DEC": "December",
+		"PASSWORD": "Password",
+		"CUSTOMDASHBOARDS": "Custom Dashboards",
+		"NEW_CUSTOMDASHBOARD": "New Custom Dashboard",
+		"ADD_CUSTOMDASHBOARD": "Add Custom Dashboard",
+		"EDIT_CUSTOMDASHBOARD": "Edit Custom Dashboard",
+		"DELETE_CUSTOMDASHBOARD": "Delete Custom Dashboard",
+		"SCHEDULER": "Scheduler",
+		"NEW_SCHEDULE": "New Schedule",
+		"ADD_SCHEDULE": "Add Schedule",
+		"EDIT_SCHEDULE": "Edit Schedule",
+		"DELETE_SCHEDULE": "Delete Schedule",
+		"SENDMAIL": "Send Email",
+		"CONFIGURATION": "Configuration",
+		"MAIL": "Email",
+		"REPORTTYPE": "Report Type",
+		"REPORT": "Report",
+		"OUTPUT": "Output",
+		"EXECUTEON": "Execute On",
+		"REPORTRANGE": "Report Range",
+		"VALIDITYSTART": "Start Time",
+		"VALIDITYEND": "End Time",
+		"EXECUTEEVERY": "Execute every",
+		"ACCOUNT": "Account",
+		"EMAILADDRESS": "Email Address",
+		"EMAILCCADDRESS": "Cc",
+		"EMAILBCCADDRESS": "Bcc",
+		"CURRENTDAY": "Current Day",
+		"DAILY": "Daily",
+		"WEEKLY": "Weekly",
+		"MONTHLY": "Monthly",
+		"PREVIOUS_DAY": "Previous Day",
+		"LAST_SEVEN_DAYS": "Last Seven Days",
+		"LAST_THIRTY_DAYS": "Last Thirthy Days",
+		"LAST_MONTH": "Last Month",
+		"WEEKDAYS": "Week Days",
+		"HOUR": "Hour",
+		"DEFAULT": "Default",
+		"CSV": "CSV",
+		"PDF": "PDF",
+		"15MIN": "15 minutes",
+		"30MIN": "30 minutes",
+		"1H": "1 hour",
+		"VOICE": "Voice",
+		"CHAT": "Chat",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"TEMPLATES": "Templates",
+		"EDIT_TEMPLATE": "Edit Template",
+		"DELETE_TEMPLATE": "Delete Template",
+		"NEW_TEMPLATE": "New Template",
+		"ADD_TEMPLATE": "Add Template",
+		"CONTENT": "Content",
+		"FIELD": "Field",
+		"NO_ANYCONDITION_AVAILABLE": "No Conditions available",
+		"NO_ALLCONDITION_AVAILABLE": "No Conditions available",
+		"NO_ACTION_AVAILABLE": "No Actions available",
+		"ACTION": "Action",
+		"EDIT_ANYCONDITION": "Edit Condition",
+		"DELETE_ANYCONDITION": "Delete Condition",
+		"NEW_ANYCONDITION": "New Condition",
+		"ADD_ANYCONDITION": "Add Condition",
+		"EDIT_ALLCONDITION": "Edit Condition",
+		"DELETE_ALLCONDITION": "Delete Condition",
+		"NEW_ALLCONDITION": "New Condition",
+		"ADD_ALLCONDITION": "Add Condition",
+		"EDIT_ACTION": "Edit Action",
+		"DELETE_ACTION": "Delete Action",
+		"NEW_ACTION": "New Action",
+		"ADD_ACTION": "Add Action",
+		"QUEUE": "Queue",
+		"CALL_STATUS": "Call Status",
+		"OUTBOUNDROUTE": "Outbound Route",
+		"EQUALS": "Equals",
+		"NOT_EQUALS": "Not Equals",
+		"CONTACT_MANAGER": "Contacts Manager",
+		"INTEGRATIONS": "Integrations",
+		"MOTION_BAR": "Motion Bar",
+		"JSCRIPTY": "Jscripty",
+		"URL_FORWARD": "URL Forward",
+		"WEB_POPUP": "Web Popup",
+		"LIST": "List",
+		"INTEGRATION": "Integration",
+		"TEMPLATE": "Template",
+		"URL": "URL",
+		"APPLICATION": "Application",
+		"ARGUMENTS": "Arguments",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"NEW_INTERVAL": "New Interval",
+		"OPERATOR": "Operator",
+		"NO_INTERVALS_AVAILABLE": "No intervals available",
+		"YES": "Yes",
+		"NO": "No",
+		"SUBJECT": "Subject",
+		"NO_AVAILABLE_INFO": "No available info",
+		"BROWSER": "Browser",
+		"INTERVAL": "Interval",
+		"INFO": "Info",
+		"TIME_RANGE": "Time Range",
+		"WEEK_DAYS": "Week Days",
+		"MONTH_DAYS": "Month Days",
+		"MONTHS": "Months",
+		"DROP_TO_UPLOAD_MESSAGE": "Drop audio files here to upload. Only MP3, WAV, GSM - Max. 15MB",
+		"POLLING_INTERVAL": "Polling Interval (seconds)",
+		"DASHBOARD": "Dashboard",
+		"NEW_DASHBOARDITEM": "New Dashboard Widget",
+		"COUNTER": "Counter",
+		"IFRAME": "IFrame",
+		"CLOCK": "Clock",
+		"ADD_DASHBOARDITEM": "Add Dashboard Widget",
+		"EDIT_WIDGET": "Edit Widget",
+		"DELETE_WIDGET": "Delete Widget",
+		"FLIP_WIDGET": "Flip Widget",
+		"TITLE": "Title",
+		"UPDATE": "Update",
+		"LAYOUT": "Layout",
+		"BACKGROUND_COLOR": "Background Color",
+		"FOREGROUND_COLOR": "Foreground Color",
+		"FOREGROUND_TITLE_COLOR": "Foreground Title Color",
+		"THEME": "Theme",
+		"LIGHT": "Light",
+		"DARK": "Dark",
+		"TIMEZONE": "TimeZone",
+		"DIGITAL_FORMAT": "Digital Date Format",
+		"TOOLS_QUERY": "Query",
+		"SELECT": "Select",
+		"WHERE": "Where",
+		"BACK": "Back",
+		"PROJECT": "Project",
+		"GOTOREALTIME_TRUNK": "Go To Realtime Trunk",
+		"GOTO_TRUNK": "Go To Trunk",
+		"CRON": "Cron",
+		"MINUTES": "Minutes",
+		"HOURLY": "Hourly",
+		"YEARLY": "Yearly",
+		"EVERY": "Every",
+		"MINUTE": "Minute",
+		"ON_SECOND": "On second",
+		"HOUR_ON_MINUTE": "Hour on minute",
+		"AND_SECOND": "And second",
+		"DAY_AT": "Day at",
+		"START_TIME": "Start Time",
+		"ON_THE": "On the",
+		"OF_EVERY": "Of every",
+		"MONTH_AT": "Month at",
+		"AT": "At",
+		"LAST": "Last",
+		"LASTUNIT": "Unit",
+		"MAILACCOUNT": "Email Account",
+		"OF": "of",
+		"PAST_THE_HOUR": "Past the hour",
+		"DAY": "Day",
+		"WEEK": "Week",
+		"YEAR": "Year",
+		"ON": "On",
+		"PAI": "P-Asserted-Identity",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"EVENTVARIABLES": "Event Variables",
+		"AUTOCREATECONTACT": "Create contact automatically",
+		"LOCATION": "Location",
+		"NEW_TAB": "New Tab",
+		"NEW_WINDOW": "New Window",
+		"MOTION_TAB": "New Agent Dashboard Tab",
+		"WINDOWWIDTH": "Window Width(px)",
+		"WINDOWHEIGHT": "Window Height(px)",
+		"BODY": "Body",
+		"REPORTFOLDER": "Report Folder",
+		"REPORTSUBFOLDER": "Report Subfolder",
+		"AGENT": "Agent",
+		"HEADERS": "Headers",
+		"WHATSAPP": "„WhatsApp“ jungtis"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/video/i18n/cs.json b/public/app/main/apps/video/i18n/cs.json
new file mode 100644
index 0000000..5d88f0e
--- /dev/null
+++ b/public/app/main/apps/video/i18n/cs.json
@@ -0,0 +1,40 @@
+{
+	"VIDEO": {
+		"LEGEND": {},
+		"ERRORS": {},
+		"HELP": {},
+		"AGENT": "Činidlo",
+		"AGENTNAME": "Činidlo",
+		"CANT_DOWNLOAD_THIS_FILE": "Tento soubor nelze stáhnout",
+		"CANT_PLAY_THIS_FILE": "Tento typ souboru nelze přehrát",
+		"CHANNEL": "Kanál",
+		"CLOSEDAT": "Čas ukončení záznamu",
+		"CREATEDAT": "Vytvořeno v",
+		"DELETE": "Vymazat",
+		"DELETE_SCREENRECORDING": "Odstranit nahrávání obrazovky",
+		"DOWNLOAD_SCREENRECORDING": "Stáhněte si nahrávání obrazovky",
+		"DURATION": "Doba trvání",
+		"EDIT_SCREENRECORDING": "Hodnotit nahrávání obrazovky",
+		"FILE_NOT_FOUND": "Soubor nenalezen",
+		"FORMAT": "Formát",
+		"ID": "Id",
+		"INTERACTIONID": "ID interakce",
+		"NO_AVAILABLE_INFO": "Nejsou k dispozici žádné informace",
+		"NO_RATING": "Žádné hodnocení",
+		"OF": "z",
+		"PAGE": "Strana",
+		"PLAY_SCREENRECORDING": "Přehrávání obrazovky",
+		"PROPERTIES": "Vlastnosti",
+		"RATING": "Hodnocení",
+		"RECORDENDTIME": "Čas ukončení záznamu",
+		"RECORDSTARTTIME": "Čas zahájení záznamu",
+		"ROWSPERPAGE": "Řádky na stránku",
+		"SAVE": "Uložit",
+		"SCREENRECORDINGS": "Nahrávání obrazovky",
+		"SEARCH_FOR_ANYONE": "Vyhledávání",
+		"STARTEDAT": "Čas zahájení záznamu",
+		"UPDATEDAT": "Poslední aktualizace",
+		"VIDEO": "Video",
+		"WRONG_EXTENSION": "Soubor představuje nesprávnou příponu"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/video/i18n/et.json b/public/app/main/apps/video/i18n/et.json
new file mode 100644
index 0000000..0dd58f3
--- /dev/null
+++ b/public/app/main/apps/video/i18n/et.json
@@ -0,0 +1,40 @@
+{
+	"VIDEO": {
+		"LEGEND": {},
+		"ERRORS": {},
+		"HELP": {},
+		"AGENT": "Agent",
+		"AGENTNAME": "Agent",
+		"CANT_DOWNLOAD_THIS_FILE": "Seda faili ei saa alla laadida",
+		"CANT_PLAY_THIS_FILE": "Seda tüüpi faile ei saa esitada",
+		"CHANNEL": "Kanal",
+		"CLOSEDAT": "Salvestage lõpuaeg",
+		"CREATEDAT": "Loodud kell",
+		"DELETE": "Kustuta",
+		"DELETE_SCREENRECORDING": "Kustutage ekraanisalvestus",
+		"DOWNLOAD_SCREENRECORDING": "Laadige alla ekraanisalvestus",
+		"DURATION": "Kestus",
+		"EDIT_SCREENRECORDING": "Hinda ekraani salvestust",
+		"FILE_NOT_FOUND": "Faili ei leitud",
+		"FORMAT": "Vorming",
+		"ID": "Id",
+		"INTERACTIONID": "Koostoime ID",
+		"NO_AVAILABLE_INFO": "Pole saadaval teavet",
+		"NO_RATING": "Hinnang puudub",
+		"OF": "kohta",
+		"PAGE": "Leht",
+		"PLAY_SCREENRECORDING": "Esita ekraanisalvestus",
+		"PROPERTIES": "Omadused",
+		"RATING": "Hinnang",
+		"RECORDENDTIME": "Salvestage lõpuaeg",
+		"RECORDSTARTTIME": "Salvestage algusaeg",
+		"ROWSPERPAGE": "Ridasid lehel",
+		"SAVE": "Salvesta",
+		"SCREENRECORDINGS": "Ekraanisalvestused",
+		"SEARCH_FOR_ANYONE": "Otsing",
+		"STARTEDAT": "Salvestage algusaeg",
+		"UPDATEDAT": "Viimane uuendus",
+		"VIDEO": "Video",
+		"WRONG_EXTENSION": "Failis on vale laiend"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/video/i18n/lt.json b/public/app/main/apps/video/i18n/lt.json
new file mode 100644
index 0000000..ca3183b
--- /dev/null
+++ b/public/app/main/apps/video/i18n/lt.json
@@ -0,0 +1,40 @@
+{
+	"VIDEO": {
+		"VIDEO": "Video",
+		"SCREENRECORDINGS": "Screen Recordings",
+		"SEARCH_FOR_ANYONE": "Search",
+		"INTERACTIONID": "Interaction ID",
+		"CHANNEL": "Channel",
+		"AGENT": "Agent",
+		"RATING": "Rating",
+		"NO_RATING": "No Rating",
+		"RECORDSTARTTIME": "Record Start Time",
+		"RECORDENDTIME": "Record End Time",
+		"DURATION": "Duration",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"NO_AVAILABLE_INFO": "No Available Info",
+		"EDIT_SCREENRECORDING": "Rate Screen Recording",
+		"PLAY_SCREENRECORDING": "Play Screen Recording",
+		"DOWNLOAD_SCREENRECORDING": "Download Screen Recording",
+		"DELETE_SCREENRECORDING": "Delete Screen Recording",
+		"CANT_DOWNLOAD_THIS_FILE": "Can't download this file",
+		"WRONG_EXTENSION": "The file presents the wrong extension",
+		"FILE_NOT_FOUND": "File not found",
+		"SAVE": "Save",
+		"DELETE": "Delete",
+		"UPDATEDAT": "Last Update",
+		"PROPERTIES": "Properties",
+		"FORMAT": "Format",
+		"STARTEDAT": "Record Start Time",
+		"CLOSEDAT": "Record End Time",
+		"CREATEDAT": "Created at",
+		"ID": "Id",
+		"AGENTNAME": "Agent",
+		"CANT_PLAY_THIS_FILE": "Can't play this type of file",
+		"LEGEND": {},
+		"ERRORS": {},
+		"HELP": {}
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/voice/i18n/cs.json b/public/app/main/apps/voice/i18n/cs.json
new file mode 100644
index 0000000..46761ee
--- /dev/null
+++ b/public/app/main/apps/voice/i18n/cs.json
@@ -0,0 +1,474 @@
+{
+	"VOICE": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"ABANDONEDCALLS": "Abandoned Queue Calls",
+		"WAITING_FOR_AGENTS": "Waiting for agents",
+		"ACTIVE": "Active",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"PARTIALPAUSE": "Partial Pause",
+		"STATUS": "Status",
+		"TIMER": "Timer",
+		"ALL": "All",
+		"IDLE": "Idle",
+		"EDIT_TRUNK": "Edit Trunk",
+		"GOTO_VOICEQUEUE": "Go To Realtime Voice Queues",
+		"GOTOREALTIME_VOICEQUEUE": "Go To Realtime Voice Queues",
+		"NAME": "Name",
+		"LOGOUT": "Logout",
+		"VOICEQUEUES": "Voice Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+		"EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+		"EDIT_VOICEQUEUE": "Edit Voice Queue",
+		"DELETE_VOICEQUEUE": "Delete Voice Queue",
+		"MOHSOUNDS": "Moh Sounds",
+		"STRATEGY": "Strategy",
+		"DESCRIPTION": "Description",
+		"ADD_VOICEQUEUE": "Add Voice Queue",
+		"CREATED_AT": "Created At",
+		"CANT_PLAY_GSM_AUDIO_FILES": "Can't play gsm or wav49 audio files",
+		"APPLICATIONS_LIST": "Applications List",
+		"LEGEND": {
+			"CUSTOM_APPLICATION": "(*) - Custom application"
+		},
+		"ERRORS": {
+			"TRUNK_REQUIRED": "Mandatory field",
+			"VARIABLE_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"APPLICATION_NAME_REQUIRED": "Mandatory field",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"PHONENUMBER_REQUIRED": "Mandatory field",
+			"CONTEXT_REQUIRED": "Mandatory field",
+			"DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"MAILBOX_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TIMEZONE_REQUIRED": "Mandatory field",
+			"PREFIX_REQUIRED": "Mandatory field",
+			"OPTIONS_REQUIRED": "Mandatory field",
+			"AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+			"TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"EXTENSION_REQUIRED": "Mandatory field",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"APPLICATION_REQUIRED": "Mandatory field",
+			"OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"CALLERIDALL_MUST_VALID_PATTERN": "Wrong format",
+			"CALLER_ID_MUST_VALID_PATTERN": "Wrong format",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
+			"PROJECT_REQUIRED": "Povinné pole"
+		},
+		"GENERAL": "General",
+		"TIMEOUT": "Timeout",
+		"MAXLENGTH": "Maximum Length",
+		"RETRY": "Retry",
+		"WRAPUPTIME": "Wrapup Time",
+		"WEIGHT": "Weight",
+		"JOINWHENEMPTY": "Join when empty",
+		"LEAVEWHENEMPTY": "Leave when empty",
+		"HELP": {
+			"TIMEOUT": "How many seconds to ring a device",
+			"MAXLENGTH": "Maximum number of callers allowed to wait in a queue: zero means unlimited",
+			"RETRY": "Time in seconds to wait before calling the next agent in queue when the timeout is expired",
+			"WRAPUPTIME": "Time in seconds to keep a queue member unavailable after completing a call",
+			"WEIGHT": "Weight of a queue in order to define priority if members are associated with multiple queues",
+			"JOINWHENEMPTY": "Used to control whether a caller is passed to a queue when no members are available",
+			"LEAVEWHENEMPTY": "Used to control whether callers are made leave the queue when no members are available to take calls",
+			"ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (zero to disable)",
+			"MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+			"PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+			"ANNOUNCEPOSITIONLIMIT": "Used if announce-position is defined as either 'limit' or 'more'",
+			"AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+			"MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+			"MUSICONHOLD": "Sets the music class to use for a particular queue",
+			"ANNOUNCETOAGENT": "Play an announcement to the agent answering the call (typically to let him know what queue the caller is coming from)",
+			"RANDOMPERIODICANNOUNCE": "If yes, the defined periodic announcements will be played random",
+			"ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+			"ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+			"REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+			"PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+			"HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+			"YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
+			"THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+			"WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+			"ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+			"MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+			"MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+			"SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+			"THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+			"AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+			"AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled it causes the agent to be paused in all queues he belongs to",
+			"RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+			"TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+			"MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+			"CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+			"SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs)",
+			"SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs)",
+			"SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs)",
+			"RECORDING": "Enable call recording",
+			"VOICEMAIL_CONTEXT": "The context of the relative extension",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"CALLERIDALL": "Supported format: \"CallerId\" &lt;number&gt;",
+			"CALLER_ID": "Supported format: \"CallerId\" &lt;number&gt;",
+			"MANDATORYDISPOSITIONPAUSEID": "Pozastavte stav, který chcete nastavit během povinné dispozice"
+		},
+		"MUSICONHOLD": "Music On Hold",
+		"ANNOUNCETOAGENT": "Announce To Agent",
+		"ANNOUNCEMENTS": "Announcements",
+		"ADVANCED": "Advanced",
+		"ANNOUNCEFREQUENCY": "Announce Frequency",
+		"MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+		"PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+		"RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+		"ANNOUNCEHOLDTIME": "Announce Hold Time",
+		"ANNOUNCECALLERPOSITION": "Announce Caller Position",
+		"ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+		"REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+		"PERIODICANNOUNCE": "Periodic Announce",
+		"HOLDTIMEANNOUNCE": "Hold Time Announce",
+		"YOUARENEXTANNOUNCE": "'You are next' Announce",
+		"THEREAREANNOUNCE": "'There are' Announce",
+		"WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+		"ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+		"MINUTESANNOUNCE": "Minutes Announce",
+		"MINUTEANNOUNCE": "Minute Announce",
+		"SECONDSANNOUNCE": "Seconds Announce",
+		"THANKYOUANNOUNCE": "'Thank You' Announce",
+		"AUTOPAUSE": "Auto Pause",
+		"AFTERCALLWORK": "After Call Work",
+		"AFTERCALLWORKDURATION": "After Call Work Duration",
+		"RINGINUSE": "Ring In Use",
+		"MEMBERDELAY": "Member Delay",
+		"TIMEOUTRESTART": "Timeout Restart",
+		"MONITORFORMAT": "Recording Format",
+		"SETINTERFACEVARIABLES": "Set Interface Variables",
+		"SETQUEUEVARIABLES": "Set Queue Variables",
+		"SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+		"VARIABLE": "Variable",
+		"CONTEXT": "Context",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"INBOUNDROUTES": "Inbound Routes",
+		"PHONENUMBER": "Phone Number",
+		"ADD_INBOUNDROUTE": "Add Inbound Route",
+		"EDIT_INBOUNDROUTE": "Edit Inbound Route",
+		"DELETE_INBOUNDROUTE": "Delete Inbound Route",
+		"ACTIONS": "Actions",
+		"OUTBOUNDROUTES": "Outbound Routes",
+		"DESTINATIONPATTERN": "Destination Pattern",
+		"ADD_OUTBOUNDROUTE": "Add Outbound Route",
+		"EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+		"DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+		"CUTDIGITS": "Cut Digits",
+		"RECORDING": "Recording",
+		"RECORDINGFORMAT": "Recording format",
+		"INTERNALROUTES": "Internal Routes",
+		"ADD_INTERNALROUTE": "Add Internal Route",
+		"EDIT_INTERNALROUTE": "Edit Internal Route",
+		"DELETE_INTERNALROUTE": "Delete Internal Route",
+		"CONTEXTS": "Contexts",
+		"ADD_CONTEXT": "Add Context",
+		"EDIT_CONTEXT": "Edit Context",
+		"DELETE_CONTEXT": "Delete Context",
+		"VOICEMAILS": "Voicemails",
+		"ADD_VOICEMAIL": "Add Voicemail",
+		"EDIT_VOICEMAIL": "Edit Voicemail",
+		"DELETE_VOICEMAIL": "Delete Voicemail",
+		"FULLNAME": "Full Name",
+		"EMAIL": "Email",
+		"MAILBOX": "Mailbox",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"TIMEZONE": "Timezone",
+		"ATTACH": "Attach",
+		"ENVELOPE": "Envelope",
+		"DELETE": "Delete",
+		"EMAILBODY": "Email Body",
+		"EMAILSUBJECT": "Email Subject",
+		"MAXSECONDS": "Max Seconds",
+		"MAXMESSAGES": "Max Messages",
+		"MESSAGES": "Messages",
+		"SORT": "Sort",
+		"ADD_MUSICONHOLD": "Add Music On Hold",
+		"MUSICONHOLDS": "Music On Hold",
+		"EDIT_MUSICONHOLD": "Edit Music On Hold",
+		"DELETE_MUSICONHOLD": "Delete Music On Hold",
+		"DIRECTORY": "Directory",
+		"AUDIOFILES": "Audio Files",
+		"RECORDINGS": "Recordings",
+		"CHANSPY": "ChanSpy",
+		"PREFIX": "Prefix",
+		"OPTIONS": "Options",
+		"AUTH": "Auth",
+		"ADD_CHANSPY": "Add ChanSpy",
+		"EDIT_CHANSPY": "Edit ChanSpy",
+		"DELETE_CHANSPY": "Delete ChanSpy",
+		"AGENTS": "Agents",
+		"TELEPHONES": "Telephones",
+		"QUEUES": "Queues",
+		"QUEUE_CALLS": "Queue Calls",
+		"QUEUE_PARAMETERS": "Queue Parameters",
+		"ABANDONED_CALLS": "Abandoned Calls",
+		"OUTBOUND_CALLS": "Outbound Calls",
+		"AGI": "Agi",
+		"DIAL": "Dial",
+		"CALLYSQUARE": "CallySquare",
+		"INTERNALDIAL": "Internal Dial",
+		"EXTERNALDIAL": "External Dial",
+		"RINGGROUP": "Ring Group",
+		"PLAYBACK": "Playback",
+		"QUEUE": "Queue",
+		"SET": "Set",
+		"VOICEMAIL": "Voicemail",
+		"GOTO": "GoTo",
+		"HANGUP": "Hangup",
+		"CUSTOM": "Custom",
+		"PROJECT": "Cally-Square Project",
+		"TECHNOLOGY/RESOURCE": "Technology/Resource",
+		"URL": "URL",
+		"EDIT_APP": "Edit Application",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_APP": "Delete Application",
+		"INTERVALS": "Intervals",
+		"USER": "User",
+		"TRUNK": "Trunk",
+		"PHONE": "Phone",
+		"AUDIO_FILES": "Audio Files",
+		"ANNOUNCE_OVERRIDES": "Announce Overrides",
+		"MACRO": "Macro",
+		"GOSUB": "GoSub",
+		"RULE": "Rule",
+		"POSITION": "Position",
+		"ANSWER": "Answer",
+		"VALUE": "Value",
+		"MAILBOX@CONTEXT": "Mailbox@Context",
+		"EXTENSION": "Extension",
+		"PRIORITY": "Priority",
+		"HANGUP_CAUSE": "Hangup Cause",
+		"OUTBOUNDDIAL": "Outbound Dial",
+		"CALLER_ID": "Caller ID",
+		"NO_MESSAGE_AVAILABLE": "No messages available",
+		"NO_SOUND_AVAILABLE": "No sounds available",
+		"VOICERECORDINGS": "Voice Recordings",
+		"CHANSPIES": "ChanSpy",
+		"VOICE": "Voice",
+		"REALTIME": "Realtime",
+		"ID": "Id",
+		"VOICEMAIL_CONTEXT": "Context",
+		"NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+		"FILE": "File",
+		"ADD_MOHSOUND": "Add Music On Hold sound",
+		"DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+		"DELETE_MOHSOUND": "Delete Music On Hold sound",
+		"UNIQUEID": "Unique ID",
+		"AGENT": "Agent",
+		"TYPE": "Type",
+		"RATING": "Rating",
+		"AUDIO": "Audio",
+		"DATE": "Date",
+		"NEW_VOICEQUEUE": "New Voice Queue",
+		"NEW_INBOUNDROUTE": "New Inbound Route",
+		"NEW_OUTBOUNDROUTE": "New Outbound Route",
+		"NEW_INTERNALROUTE": "New Internal Route",
+		"NEW_CONTEXT": "New Context",
+		"NEW_VOICEMAIL": "New Voicemail",
+		"NEW_MUSICONHOLD": "New Music On Hold",
+		"NEW_CHANSPY": "New ChanSpy",
+		"PENALTY": "Penalty",
+		"ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+		"ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+		"EDIT_DIAL": "Edit Dial",
+		"EDIT_AGI": "Edit AGI",
+		"EDIT_INTERNALDIAL": "Edit Internal Dial",
+		"EDIT_EXTERNALDIAL": "Edit External Dial",
+		"EDIT_RINGGROUP": "Edit Ring Group",
+		"EDIT_PLAYBACK": "Edit Playback",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_SET": "Edit Set",
+		"EDIT_GOTO": "Edit GoTo",
+		"EDIT_HANGUP": "Edit Hangup",
+		"EDIT_CUSTOM": "Edit Custom",
+		"DURATION": "Duration",
+		"RECEIVED_AT": "Received At",
+		"YES": "Yes",
+		"NO": "No",
+		"HANGUPCAUSE_1": "1 = Unallocated number",
+		"HANGUPCAUSE_16": "16 = Normal call clearing",
+		"HANGUPCAUSE_17": "17 = User busy",
+		"HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+		"HANGUPCAUSE_21": "21 = Call rejected",
+		"HANGUPCAUSE_22": "22 = Number changed",
+		"HANGUPCAUSE_27": "27 = Destination out of order",
+		"HANGUPCAUSE_38": "38 = Network out of order",
+		"HANGUPCAUSE_41": "41 = Temporary failure",
+		"RANDOM": "Random",
+		"ALPHABETICAL": "Alphabetical",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+		"DELETE_VOICERECORDING": "Delete Voice Recording",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"TRUNK_STATUS": "Trunk Status",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"LAGGED": "Lagged",
+		"REACHABLE": "Reachable",
+		"UNREACHABLE": "Unreachable",
+		"UNKNOWN": "Unknown",
+		"NOT_INUSE": "Not In Use",
+		"INUSE": "In Use",
+		"BUSY": "Busy",
+		"INVALID": "Invalid",
+		"UNAVAILABLE": "Unavailable",
+		"RINGING": "Ringing",
+		"ONHOLD": "On Hold",
+		"RING": "Ring",
+		"UP": "Up",
+		"INFO": "Info",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No Registry",
+		"LOGGED_IN": "Logged In (SIP Connected)",
+		"PAUSED": "Paused",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"DID": "DID",
+		"CALLER": "Caller",
+		"TOTAL": "Total",
+		"ANSWERED": "Answered",
+		"ABANDONED": "Abandoned",
+		"UNMANAGED": "Unmanaged",
+		"AVG_HOLD_TIME": "Avg Hold Time",
+		"AVG_DURATION": "Av Duration",
+		"AVG_BILLABLE": "Avg Billable",
+		"SOURCE": "Source",
+		"DESTINATION": "Destination",
+		"REJECTED": "Rejected",
+		"FAILED": "Failed",
+		"CALLED": "Called",
+		"CONNECTED": "Connected",
+		"NO_RATING": "No rating",
+		"EDIT_VOICERECORDING": "Edit Voice Recording",
+		"APPLICATION_NAME": "Application Name",
+		"ARGUMENTS": "Arguments",
+		"NO_AVAILABLE_INFO": "No Available Info",
+		"ADD_AGENT_TO_QUEUE": "Add Agent To Queue",
+		"DEFAULT_PAUSE": "DEFAULT PAUSE",
+		"PAUSE": "Pause",
+		"UNPAUSE": "End Pause",
+		"REDIRECT_TO_NUMBER": "Redirect To Number",
+		"REDIRECT_TO_AGENT": "Redirect To Agent",
+		"AGENTADD_VOICEQUEUE": "Add Agent To Voice Queue",
+		"APPLICATION": "Application",
+		"FILES": "Files",
+		"FORMAT": "Format",
+		"MODE": "Mode",
+		"RECORD": "Record",
+		"TEAMADD_VOICEQUEUE": "Add Team To Voice Queue",
+		"NEW_MOHSOUND": "New Music On Hold sound",
+		"DOWNLOAD_MESSAGE": "Download",
+		"DELETE_MESSAGE": "Delete",
+		"QUEUE_PARAMS": "Queue Parameters",
+		"TOTAL_OFFERED": "Total Offered",
+		"READY": "Ready",
+		"AGENTADD_QUEUE": "Add Agent To Voice Queue",
+		"AGENTSADD_QUEUE": "Add Agents To Voice Queue",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"CLOSING": "Closing",
+		"TAGS": "Tags",
+		"WAITING_FOR_AGENT": "Waiting For Agents",
+		"EDIT_OUTBOUNDDIAL": "Edit Outbound Dial",
+		"ACCOUNTNAME": "Account Name",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"DISPOSITION": "Disposition",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"CLEAR": "Clear",
+		"CALLS": "Calls",
+		"STARTEDAT": "Started At",
+		"ENDEDAT": "Ended At",
+		"TAG": "Tag",
+		"DETAILS": "Details",
+		"BILLABLESECONDS": "Billable seconds",
+		"ANSWEREDAT": "Answered At",
+		"NOTE": "Note",
+		"CLOSE": "Close",
+		"SELECT_DATE": "Select Start Date",
+		"SELECT_TYPE": "Select Type",
+		"VOICEPREFIXES": "Out Prefixes",
+		"NEW_VOICEPREFIX": "New Prefix",
+		"ADD_VOICEPREFIX": "Add Prefix",
+		"EDIT_VOICEPREFIX": "Edit Prefix",
+		"AGENTADD_VOICEPREFIX": "Add Agent to Prefix",
+		"DELETE_VOICEPREFIX": "Delete Prefix",
+		"OUTBOUNDROUTE": "Outbound Route",
+		"CALLERIDALL": "Caller Id",
+		"CANT_DOWNLOAD_THIS_FILE": "Tento soubor nelze stáhnout",
+		"DIALER": "Dialer",
+		"DOWNLOADTRANSCRIBE_VOICERECORDING": "Stáhnout přepis",
+		"FAILUREREASON": "Důvod selhání",
+		"FILE_NOT_FOUND": "Soubor nenalezen",
+		"INBOUND": "Příchozí",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Povinný stav pozastavení stavu",
+		"OUTBOUND": "Odchozí",
+		"RUNSENTIMENT_VOICERECORDING": "Spusťte sentiment",
+		"RUNTRANSCRIBESENTIMENT_VOICERECORDING": "Spusťte přepis a sentiment",
+		"RUNTRANSCRIBE_VOICERECORDING": "Spusťte přepis",
+		"SCREENRECORDING": "Spravovat nahrávání obrazovky",
+		"SENTIMENT": "Sentiment",
+		"SENTIMENTANALYSIS": "Analýza sentimentu",
+		"SENTIMENT_MIXED": "Smíšený",
+		"SENTIMENT_NEGATIVE": "Záporný",
+		"SENTIMENT_NEUTRAL": "Neutrální",
+		"SENTIMENT_POSITIVE": "Pozitivní",
+		"START_SCREENRECORDING": "Spusťte nahrávání obrazovky",
+		"STOP_SCREENRECORDING": "Zastavte nahrávání obrazovky",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"TEXT": "Text",
+		"TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+		"TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
+		"TRANSCRIBE": "Přepsat",
+		"TRANSCRIBESTATUS_COMPLETED": "Dokončeno",
+		"TRANSCRIBESTATUS_FAILED": "Selhalo",
+		"TRANSCRIBESTATUS_IN_PROGRESS": "Probíhá",
+		"TRANSCRIBESTATUS_NEW": "Nový",
+		"TRANSCRIPT": "Přepis",
+		"TRANSCRIPTANALYSIS": "Přepis a analýza",
+		"WRONG_EXTENSION": "Soubor představuje nesprávnou příponu"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/voice/i18n/et.json b/public/app/main/apps/voice/i18n/et.json
new file mode 100644
index 0000000..1737bdb
--- /dev/null
+++ b/public/app/main/apps/voice/i18n/et.json
@@ -0,0 +1,474 @@
+{
+	"VOICE": {
+		"LOGIN_TIME": "Login time",
+		"PAUSE_TIME": "Pause time",
+		"ABANDONEDCALLS": "Abandoned Queue Calls",
+		"WAITING_FOR_AGENTS": "Waiting for agents",
+		"ACTIVE": "Active",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"PARTIALPAUSE": "Partial Pause",
+		"STATUS": "Status",
+		"TIMER": "Timer",
+		"ALL": "All",
+		"IDLE": "Idle",
+		"EDIT_TRUNK": "Edit Trunk",
+		"GOTO_VOICEQUEUE": "Go To Realtime Voice Queues",
+		"GOTOREALTIME_VOICEQUEUE": "Go To Realtime Voice Queues",
+		"NAME": "Name",
+		"LOGOUT": "Logout",
+		"VOICEQUEUES": "Voice Queues",
+		"SEARCH_FOR_ANYONE": "Search",
+		"BACK": "Back",
+		"SELECTED": "Selected",
+		"SELECT_ALL": "Select All",
+		"SELECT_NONE": "Select None",
+		"DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+		"EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+		"EDIT_VOICEQUEUE": "Edit Voice Queue",
+		"DELETE_VOICEQUEUE": "Delete Voice Queue",
+		"MOHSOUNDS": "Moh Sounds",
+		"STRATEGY": "Strategy",
+		"DESCRIPTION": "Description",
+		"ADD_VOICEQUEUE": "Add Voice Queue",
+		"CREATED_AT": "Created At",
+		"CANT_PLAY_GSM_AUDIO_FILES": "Can't play gsm or wav49 audio files",
+		"APPLICATIONS_LIST": "Applications List",
+		"LEGEND": {
+			"CUSTOM_APPLICATION": "(*) - Custom application"
+		},
+		"ERRORS": {
+			"TRUNK_REQUIRED": "Mandatory field",
+			"VARIABLE_REQUIRED": "Mandatory field",
+			"NAME_REQUIRED": "Mandatory field",
+			"APPLICATION_NAME_REQUIRED": "Mandatory field",
+			"TIMEOUT_REQUIRED": "Mandatory field",
+			"PHONENUMBER_REQUIRED": "Mandatory field",
+			"CONTEXT_REQUIRED": "Mandatory field",
+			"DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+			"FULLNAME_REQUIRED": "Mandatory field",
+			"EMAIL_REQUIRED": "Mandatory field",
+			"EMAIL_MUST_VALID": "Wrong format",
+			"MAILBOX_REQUIRED": "Mandatory field",
+			"PASSWORD_REQUIRED": "Mandatory field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"TIMEZONE_REQUIRED": "Mandatory field",
+			"PREFIX_REQUIRED": "Mandatory field",
+			"OPTIONS_REQUIRED": "Mandatory field",
+			"AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+			"TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+			"PHONE_REQUIRED": "Mandatory field",
+			"VALUE_REQUIRED": "Mandatory field",
+			"EXTENSION_REQUIRED": "Mandatory field",
+			"PRIORITY_REQUIRED": "Mandatory field",
+			"APPLICATION_REQUIRED": "Mandatory field",
+			"OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+			"MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+			"NAME_MUST_VALID_PATTERN": "Wrong format",
+			"CALLERIDALL_MUST_VALID_PATTERN": "Wrong format",
+			"CALLER_ID_MUST_VALID_PATTERN": "Wrong format",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
+			"PROJECT_REQUIRED": "Kohustuslik väli"
+		},
+		"GENERAL": "General",
+		"TIMEOUT": "Timeout",
+		"MAXLENGTH": "Maximum Length",
+		"RETRY": "Retry",
+		"WRAPUPTIME": "Wrapup Time",
+		"WEIGHT": "Weight",
+		"JOINWHENEMPTY": "Join when empty",
+		"LEAVEWHENEMPTY": "Leave when empty",
+		"HELP": {
+			"TIMEOUT": "How many seconds to ring a device",
+			"MAXLENGTH": "Maximum number of callers allowed to wait in a queue: zero means unlimited",
+			"RETRY": "Time in seconds to wait before calling the next agent in queue when the timeout is expired",
+			"WRAPUPTIME": "Time in seconds to keep a queue member unavailable after completing a call",
+			"WEIGHT": "Weight of a queue in order to define priority if members are associated with multiple queues",
+			"JOINWHENEMPTY": "Used to control whether a caller is passed to a queue when no members are available",
+			"LEAVEWHENEMPTY": "Used to control whether callers are made leave the queue when no members are available to take calls",
+			"ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (zero to disable)",
+			"MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+			"PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+			"ANNOUNCEPOSITIONLIMIT": "Used if announce-position is defined as either 'limit' or 'more'",
+			"AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+			"MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+			"MUSICONHOLD": "Sets the music class to use for a particular queue",
+			"ANNOUNCETOAGENT": "Play an announcement to the agent answering the call (typically to let him know what queue the caller is coming from)",
+			"RANDOMPERIODICANNOUNCE": "If yes, the defined periodic announcements will be played random",
+			"ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+			"ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+			"REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+			"PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+			"HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+			"YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
+			"THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+			"WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+			"ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+			"MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+			"MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+			"SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+			"THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+			"AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+			"AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled it causes the agent to be paused in all queues he belongs to",
+			"RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+			"TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+			"MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+			"CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+			"SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs)",
+			"SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs)",
+			"SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs)",
+			"RECORDING": "Enable call recording",
+			"VOICEMAIL_CONTEXT": "The context of the relative extension",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"CALLERIDALL": "Supported format: \"CallerId\" &lt;number&gt;",
+			"CALLER_ID": "Supported format: \"CallerId\" &lt;number&gt;",
+			"MANDATORYDISPOSITIONPAUSEID": "Peata olek, et seadistada kohustusliku dispositsiooni ajal"
+		},
+		"MUSICONHOLD": "Music On Hold",
+		"ANNOUNCETOAGENT": "Announce To Agent",
+		"ANNOUNCEMENTS": "Announcements",
+		"ADVANCED": "Advanced",
+		"ANNOUNCEFREQUENCY": "Announce Frequency",
+		"MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+		"PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+		"RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+		"ANNOUNCEHOLDTIME": "Announce Hold Time",
+		"ANNOUNCECALLERPOSITION": "Announce Caller Position",
+		"ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+		"REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+		"PERIODICANNOUNCE": "Periodic Announce",
+		"HOLDTIMEANNOUNCE": "Hold Time Announce",
+		"YOUARENEXTANNOUNCE": "'You are next' Announce",
+		"THEREAREANNOUNCE": "'There are' Announce",
+		"WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+		"ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+		"MINUTESANNOUNCE": "Minutes Announce",
+		"MINUTEANNOUNCE": "Minute Announce",
+		"SECONDSANNOUNCE": "Seconds Announce",
+		"THANKYOUANNOUNCE": "'Thank You' Announce",
+		"AUTOPAUSE": "Auto Pause",
+		"AFTERCALLWORK": "After Call Work",
+		"AFTERCALLWORKDURATION": "After Call Work Duration",
+		"RINGINUSE": "Ring In Use",
+		"MEMBERDELAY": "Member Delay",
+		"TIMEOUTRESTART": "Timeout Restart",
+		"MONITORFORMAT": "Recording Format",
+		"SETINTERFACEVARIABLES": "Set Interface Variables",
+		"SETQUEUEVARIABLES": "Set Queue Variables",
+		"SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+		"VARIABLE": "Variable",
+		"CONTEXT": "Context",
+		"SAVE": "Save",
+		"SETTINGS": "Settings",
+		"INBOUNDROUTES": "Inbound Routes",
+		"PHONENUMBER": "Phone Number",
+		"ADD_INBOUNDROUTE": "Add Inbound Route",
+		"EDIT_INBOUNDROUTE": "Edit Inbound Route",
+		"DELETE_INBOUNDROUTE": "Delete Inbound Route",
+		"ACTIONS": "Actions",
+		"OUTBOUNDROUTES": "Outbound Routes",
+		"DESTINATIONPATTERN": "Destination Pattern",
+		"ADD_OUTBOUNDROUTE": "Add Outbound Route",
+		"EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+		"DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+		"CUTDIGITS": "Cut Digits",
+		"RECORDING": "Recording",
+		"RECORDINGFORMAT": "Recording format",
+		"INTERNALROUTES": "Internal Routes",
+		"ADD_INTERNALROUTE": "Add Internal Route",
+		"EDIT_INTERNALROUTE": "Edit Internal Route",
+		"DELETE_INTERNALROUTE": "Delete Internal Route",
+		"CONTEXTS": "Contexts",
+		"ADD_CONTEXT": "Add Context",
+		"EDIT_CONTEXT": "Edit Context",
+		"DELETE_CONTEXT": "Delete Context",
+		"VOICEMAILS": "Voicemails",
+		"ADD_VOICEMAIL": "Add Voicemail",
+		"EDIT_VOICEMAIL": "Edit Voicemail",
+		"DELETE_VOICEMAIL": "Delete Voicemail",
+		"FULLNAME": "Full Name",
+		"EMAIL": "Email",
+		"MAILBOX": "Mailbox",
+		"PASSWORD": "Password",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"TIMEZONE": "Timezone",
+		"ATTACH": "Attach",
+		"ENVELOPE": "Envelope",
+		"DELETE": "Delete",
+		"EMAILBODY": "Email Body",
+		"EMAILSUBJECT": "Email Subject",
+		"MAXSECONDS": "Max Seconds",
+		"MAXMESSAGES": "Max Messages",
+		"MESSAGES": "Messages",
+		"SORT": "Sort",
+		"ADD_MUSICONHOLD": "Add Music On Hold",
+		"MUSICONHOLDS": "Music On Hold",
+		"EDIT_MUSICONHOLD": "Edit Music On Hold",
+		"DELETE_MUSICONHOLD": "Delete Music On Hold",
+		"DIRECTORY": "Directory",
+		"AUDIOFILES": "Audio Files",
+		"RECORDINGS": "Recordings",
+		"CHANSPY": "ChanSpy",
+		"PREFIX": "Prefix",
+		"OPTIONS": "Options",
+		"AUTH": "Auth",
+		"ADD_CHANSPY": "Add ChanSpy",
+		"EDIT_CHANSPY": "Edit ChanSpy",
+		"DELETE_CHANSPY": "Delete ChanSpy",
+		"AGENTS": "Agents",
+		"TELEPHONES": "Telephones",
+		"QUEUES": "Queues",
+		"QUEUE_CALLS": "Queue Calls",
+		"QUEUE_PARAMETERS": "Queue Parameters",
+		"ABANDONED_CALLS": "Abandoned Calls",
+		"OUTBOUND_CALLS": "Outbound Calls",
+		"AGI": "Agi",
+		"DIAL": "Dial",
+		"CALLYSQUARE": "CallySquare",
+		"INTERNALDIAL": "Internal Dial",
+		"EXTERNALDIAL": "External Dial",
+		"RINGGROUP": "Ring Group",
+		"PLAYBACK": "Playback",
+		"QUEUE": "Queue",
+		"SET": "Set",
+		"VOICEMAIL": "Voicemail",
+		"GOTO": "GoTo",
+		"HANGUP": "Hangup",
+		"CUSTOM": "Custom",
+		"PROJECT": "Cally-Square Project",
+		"TECHNOLOGY/RESOURCE": "Technology/Resource",
+		"URL": "URL",
+		"EDIT_APP": "Edit Application",
+		"EDIT_INTERVAL": "Edit Interval",
+		"DELETE_APP": "Delete Application",
+		"INTERVALS": "Intervals",
+		"USER": "User",
+		"TRUNK": "Trunk",
+		"PHONE": "Phone",
+		"AUDIO_FILES": "Audio Files",
+		"ANNOUNCE_OVERRIDES": "Announce Overrides",
+		"MACRO": "Macro",
+		"GOSUB": "GoSub",
+		"RULE": "Rule",
+		"POSITION": "Position",
+		"ANSWER": "Answer",
+		"VALUE": "Value",
+		"MAILBOX@CONTEXT": "Mailbox@Context",
+		"EXTENSION": "Extension",
+		"PRIORITY": "Priority",
+		"HANGUP_CAUSE": "Hangup Cause",
+		"OUTBOUNDDIAL": "Outbound Dial",
+		"CALLER_ID": "Caller ID",
+		"NO_MESSAGE_AVAILABLE": "No messages available",
+		"NO_SOUND_AVAILABLE": "No sounds available",
+		"VOICERECORDINGS": "Voice Recordings",
+		"CHANSPIES": "ChanSpy",
+		"VOICE": "Voice",
+		"REALTIME": "Realtime",
+		"ID": "Id",
+		"VOICEMAIL_CONTEXT": "Context",
+		"NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+		"FILE": "File",
+		"ADD_MOHSOUND": "Add Music On Hold sound",
+		"DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+		"DELETE_MOHSOUND": "Delete Music On Hold sound",
+		"UNIQUEID": "Unique ID",
+		"AGENT": "Agent",
+		"TYPE": "Type",
+		"RATING": "Rating",
+		"AUDIO": "Audio",
+		"DATE": "Date",
+		"NEW_VOICEQUEUE": "New Voice Queue",
+		"NEW_INBOUNDROUTE": "New Inbound Route",
+		"NEW_OUTBOUNDROUTE": "New Outbound Route",
+		"NEW_INTERNALROUTE": "New Internal Route",
+		"NEW_CONTEXT": "New Context",
+		"NEW_VOICEMAIL": "New Voicemail",
+		"NEW_MUSICONHOLD": "New Music On Hold",
+		"NEW_CHANSPY": "New ChanSpy",
+		"PENALTY": "Penalty",
+		"ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+		"ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+		"EDIT_DIAL": "Edit Dial",
+		"EDIT_AGI": "Edit AGI",
+		"EDIT_INTERNALDIAL": "Edit Internal Dial",
+		"EDIT_EXTERNALDIAL": "Edit External Dial",
+		"EDIT_RINGGROUP": "Edit Ring Group",
+		"EDIT_PLAYBACK": "Edit Playback",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_SET": "Edit Set",
+		"EDIT_GOTO": "Edit GoTo",
+		"EDIT_HANGUP": "Edit Hangup",
+		"EDIT_CUSTOM": "Edit Custom",
+		"DURATION": "Duration",
+		"RECEIVED_AT": "Received At",
+		"YES": "Yes",
+		"NO": "No",
+		"HANGUPCAUSE_1": "1 = Unallocated number",
+		"HANGUPCAUSE_16": "16 = Normal call clearing",
+		"HANGUPCAUSE_17": "17 = User busy",
+		"HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+		"HANGUPCAUSE_21": "21 = Call rejected",
+		"HANGUPCAUSE_22": "22 = Number changed",
+		"HANGUPCAUSE_27": "27 = Destination out of order",
+		"HANGUPCAUSE_38": "38 = Network out of order",
+		"HANGUPCAUSE_41": "41 = Temporary failure",
+		"RANDOM": "Random",
+		"ALPHABETICAL": "Alphabetical",
+		"NO_APPS_AVAILABLE": "No applications available",
+		"DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+		"DELETE_VOICERECORDING": "Delete Voice Recording",
+		"INTERNAL": "Internal",
+		"PHONE_STATE": "Phone State",
+		"PHONE_STATUS": "Phone Status",
+		"TRUNK_STATUS": "Trunk Status",
+		"REGISTERED": "Registered",
+		"UNREGISTERED": "Unregistered",
+		"LAGGED": "Lagged",
+		"REACHABLE": "Reachable",
+		"UNREACHABLE": "Unreachable",
+		"UNKNOWN": "Unknown",
+		"NOT_INUSE": "Not In Use",
+		"INUSE": "In Use",
+		"BUSY": "Busy",
+		"INVALID": "Invalid",
+		"UNAVAILABLE": "Unavailable",
+		"RINGING": "Ringing",
+		"ONHOLD": "On Hold",
+		"RING": "Ring",
+		"UP": "Up",
+		"INFO": "Info",
+		"TRUNKS": "Trunks",
+		"REGISTRY": "Registry",
+		"NO_REGISTRY": "No Registry",
+		"LOGGED_IN": "Logged In (SIP Connected)",
+		"PAUSED": "Paused",
+		"WAITING": "Waiting",
+		"TALKING": "Talking",
+		"DID": "DID",
+		"CALLER": "Caller",
+		"TOTAL": "Total",
+		"ANSWERED": "Answered",
+		"ABANDONED": "Abandoned",
+		"UNMANAGED": "Unmanaged",
+		"AVG_HOLD_TIME": "Avg Hold Time",
+		"AVG_DURATION": "Av Duration",
+		"AVG_BILLABLE": "Avg Billable",
+		"SOURCE": "Source",
+		"DESTINATION": "Destination",
+		"REJECTED": "Rejected",
+		"FAILED": "Failed",
+		"CALLED": "Called",
+		"CONNECTED": "Connected",
+		"NO_RATING": "No rating",
+		"EDIT_VOICERECORDING": "Edit Voice Recording",
+		"APPLICATION_NAME": "Application Name",
+		"ARGUMENTS": "Arguments",
+		"NO_AVAILABLE_INFO": "No Available Info",
+		"ADD_AGENT_TO_QUEUE": "Add Agent To Queue",
+		"DEFAULT_PAUSE": "DEFAULT PAUSE",
+		"PAUSE": "Pause",
+		"UNPAUSE": "End Pause",
+		"REDIRECT_TO_NUMBER": "Redirect To Number",
+		"REDIRECT_TO_AGENT": "Redirect To Agent",
+		"AGENTADD_VOICEQUEUE": "Add Agent To Voice Queue",
+		"APPLICATION": "Application",
+		"FILES": "Files",
+		"FORMAT": "Format",
+		"MODE": "Mode",
+		"RECORD": "Record",
+		"TEAMADD_VOICEQUEUE": "Add Team To Voice Queue",
+		"NEW_MOHSOUND": "New Music On Hold sound",
+		"DOWNLOAD_MESSAGE": "Download",
+		"DELETE_MESSAGE": "Delete",
+		"QUEUE_PARAMS": "Queue Parameters",
+		"TOTAL_OFFERED": "Total Offered",
+		"READY": "Ready",
+		"AGENTADD_QUEUE": "Add Agent To Voice Queue",
+		"AGENTSADD_QUEUE": "Add Agents To Voice Queue",
+		"ALL_TEAMS": "All Teams",
+		"SELECTED_TEAMS": "Selected Teams",
+		"ALL_AGENTS": "All Agents",
+		"SELECTED_AGENTS": "Selected Agents",
+		"CLOSING": "Closing",
+		"TAGS": "Tags",
+		"WAITING_FOR_AGENT": "Waiting For Agents",
+		"EDIT_OUTBOUNDDIAL": "Edit Outbound Dial",
+		"ACCOUNTNAME": "Account Name",
+		"PAGE": "Page",
+		"ROWSPERPAGE": "Rows per page",
+		"OF": "of",
+		"DISPOSITION": "Disposition",
+		"CHAT": "Chat",
+		"MAIL": "Email",
+		"SMS": "SMS",
+		"OPENCHANNEL": "Open Channel",
+		"FAX": "Fax",
+		"CLEAR": "Clear",
+		"CALLS": "Calls",
+		"STARTEDAT": "Started At",
+		"ENDEDAT": "Ended At",
+		"TAG": "Tag",
+		"DETAILS": "Details",
+		"BILLABLESECONDS": "Billable seconds",
+		"ANSWEREDAT": "Answered At",
+		"NOTE": "Note",
+		"CLOSE": "Close",
+		"SELECT_DATE": "Select Start Date",
+		"SELECT_TYPE": "Select Type",
+		"VOICEPREFIXES": "Out Prefixes",
+		"NEW_VOICEPREFIX": "New Prefix",
+		"ADD_VOICEPREFIX": "Add Prefix",
+		"EDIT_VOICEPREFIX": "Edit Prefix",
+		"AGENTADD_VOICEPREFIX": "Add Agent to Prefix",
+		"DELETE_VOICEPREFIX": "Delete Prefix",
+		"OUTBOUNDROUTE": "Outbound Route",
+		"CALLERIDALL": "Caller Id",
+		"CANT_DOWNLOAD_THIS_FILE": "Seda faili ei saa alla laadida",
+		"DIALER": "Helistaja",
+		"DOWNLOADTRANSCRIBE_VOICERECORDING": "Laadige ärakiri alla",
+		"FAILUREREASON": "Rikke põhjus",
+		"FILE_NOT_FOUND": "Faili ei leitud",
+		"INBOUND": "Sissetulev",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Kohustusliku dispositsiooni pausi olek",
+		"OUTBOUND": "Väljaminev",
+		"RUNSENTIMENT_VOICERECORDING": "Run Sentiment",
+		"RUNTRANSCRIBESENTIMENT_VOICERECORDING": "Käivitage transkriptsioon ja meeleolu",
+		"RUNTRANSCRIBE_VOICERECORDING": "Käivitage transkriptsioon",
+		"SCREENRECORDING": "Halda ekraanisalvestust",
+		"SENTIMENT": "Tunne",
+		"SENTIMENTANALYSIS": "Sentimentide analüüs",
+		"SENTIMENT_MIXED": "Segatud",
+		"SENTIMENT_NEGATIVE": "Negatiivne",
+		"SENTIMENT_NEUTRAL": "Neutraalne",
+		"SENTIMENT_POSITIVE": "Positiivne",
+		"START_SCREENRECORDING": "Alusta ekraani salvestamist",
+		"STOP_SCREENRECORDING": "Peata ekraanil salvestamine",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"TEXT": "Tekst",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
+		"TRANSCRIBE": "Transkribeerida",
+		"TRANSCRIBESTATUS_COMPLETED": "Lõpetatud",
+		"TRANSCRIBESTATUS_FAILED": "Ebaõnnestus",
+		"TRANSCRIBESTATUS_IN_PROGRESS": "Pooleli",
+		"TRANSCRIBESTATUS_NEW": "Uus",
+		"TRANSCRIPT": "Ärakiri",
+		"TRANSCRIPTANALYSIS": "Ärakiri ja analüüs",
+		"WRONG_EXTENSION": "Failis on vale laiend"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/voice/i18n/lt.json b/public/app/main/apps/voice/i18n/lt.json
new file mode 100644
index 0000000..7e65709
--- /dev/null
+++ b/public/app/main/apps/voice/i18n/lt.json
@@ -0,0 +1,474 @@
+{
+	"VOICE": {
+		"INBOUND": "Įeinantis",
+		"OUTBOUND": "Išeinantis",
+		"DIALER": "Rinkiklis",
+		"LOGIN_TIME": "Prisijungimo laikas",
+		"PAUSE_TIME": "Pauzės laikas",
+		"ABANDONEDCALLS": "Pamesti eilės skambučiai",
+		"WAITING_FOR_AGENTS": "Laukiama agentų",
+		"ACTIVE": "Aktyvus",
+		"NO_AGENT_ONLINE": "Nėra prisijungusio agento",
+		"PARTIALPAUSE": "Dalinė pauzė",
+		"STATUS": "Būsena",
+		"TIMER": "Laikmatis",
+		"ALL": "Visi",
+		"IDLE": "Laisvas",
+		"EDIT_TRUNK": "Redaguoti ryšio kanalą",
+		"GOTO_VOICEQUEUE": "Eiti į balso eiles realiu laiku",
+		"GOTOREALTIME_VOICEQUEUE": "Eiti į balso eiles realiu laiku",
+		"NAME": "Vardas",
+		"LOGOUT": "Atsijungti",
+		"VOICEQUEUES": "Balso eilė",
+		"SEARCH_FOR_ANYONE": "Paieška",
+		"BACK": "Atgal",
+		"SELECTED": "Pasirinkta",
+		"SELECT_ALL": "Pasirinkti viską",
+		"SELECT_NONE": "Nieko nepasirinkti",
+		"DELETE_VOICEDISPOSITION": "Ištrinti balso išdėstymą",
+		"EDIT_VOICEDISPOSITION": "Redaguoti balso išdėstymą",
+		"EDIT_VOICEQUEUE": "Redaguoti balso eilę",
+		"DELETE_VOICEQUEUE": "Ištrinti balso eilę",
+		"MOHSOUNDS": "Moh garsai",
+		"STRATEGY": "Strategija",
+		"DESCRIPTION": "Aprašymas",
+		"ADD_VOICEQUEUE": "Pridėti balso eilę",
+		"CREATED_AT": "Sukurtas",
+		"CANT_PLAY_GSM_AUDIO_FILES": "Negalima paleisti gsm ar wav49 garso failų",
+		"APPLICATIONS_LIST": "Programų sąrašas",
+		"LEGEND": {
+			"CUSTOM_APPLICATION": "(*) - Pritaikyta programa"
+		},
+		"ERRORS": {
+			"PROJECT_REQUIRED": "Privalomas laukas",
+			"TRUNK_REQUIRED": "Privalomas laukas",
+			"VARIABLE_REQUIRED": "Privalomas laukas",
+			"NAME_REQUIRED": "Privalomas laukas",
+			"APPLICATION_NAME_REQUIRED": "Privalomas laukas",
+			"TIMEOUT_REQUIRED": "Privalomas laukas",
+			"PHONENUMBER_REQUIRED": "Privalomas laukas",
+			"CONTEXT_REQUIRED": "Privalomas laukas",
+			"DESTINATIONPATTERN_REQUIRED": "Privalomas laukas",
+			"FULLNAME_REQUIRED": "Privalomas laukas",
+			"EMAIL_REQUIRED": "Privalomas laukas",
+			"EMAIL_MUST_VALID": "Blogas formatas",
+			"MAILBOX_REQUIRED": "Privalomas laukas",
+			"PASSWORD_REQUIRED": "Privalomas laukas",
+			"CONFIRM_NOT_MATCH": "Slaptažodžiai nesutampa",
+			"TIMEZONE_REQUIRED": "Privalomas laukas",
+			"PREFIX_REQUIRED": "Privalomas laukas",
+			"OPTIONS_REQUIRED": "Privalomas laukas",
+			"AFTERCALLWORKDURATION_REQUIRED": "Privalomas laukas",
+			"TECHNOLOGY/RESOURCE_REQUIRED": "Privalomas laukas",
+			"PHONE_REQUIRED": "Privalomas laukas",
+			"VALUE_REQUIRED": "Privalomas laukas",
+			"EXTENSION_REQUIRED": "Privalomas laukas",
+			"PRIORITY_REQUIRED": "Privalomas laukas",
+			"APPLICATION_REQUIRED": "Privalomas laukas",
+			"OUTBOUNDROUTE_REQUIRED": "Privalomas laukas",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+			"NAME_MUST_VALID_PATTERN": "Blogas formatas",
+			"CALLERIDALL_MUST_VALID_PATTERN": "Blogas formatas",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas",
+			"CALLER_ID_MUST_VALID_PATTERN": "Blogas formatas"
+		},
+		"GENERAL": "Bendras",
+		"TIMEOUT": "Laikas baigėsi",
+		"MAXLENGTH": "Maksimalus ilgis",
+		"RETRY": "Pakartotinis bandymas",
+		"WRAPUPTIME": "Užbaigimo laikas",
+		"WEIGHT": "Svarba",
+		"JOINWHENEMPTY": "Prisijungti kai tuščia",
+		"LEAVEWHENEMPTY": "Palikti kai tuščia",
+		"HELP": {
+			"TIMEOUT": "Kiek sekundžių skambinti įrenginiui",
+			"MAXLENGTH": "Maksimalus skaičius skambinančiųjų, leidžiamas laukti eilėje: nulis reiškia neribotą skaičių",
+			"RETRY": "Laukimo laikas sekundėmis prieš skambinant kitam agentui eilėje, kai skirtas laikas baigėsi",
+			"WRAPUPTIME": "Laikas sekundėmis, kad užbaigus pokalbį eilės narys būtų nepasiekiams",
+			"WEIGHT": "Eilės svarba, siekiant išskirti prioritetą, kai nariai yra susisieti su keliomis eilėmis",
+			"JOINWHENEMPTY": "Naudojamas norint valdyti, ar skambinantysis yra perkeliamas į eilę, kai nėra pasiekiamų narių",
+			"LEAVEWHENEMPTY": "Naudojamas norint valdyti, ar skambinantiesiems leidžiama išeiti iš eilės, kai nėra pasiekiamų narių, galinčių priimti skambučius",
+			"ANNOUNCEFREQUENCY": "Kaip dažnai pranešti skambinančiojo poziciją ir/arba numatomą laukimo eilėje laiką (nulis - išjungti)",
+			"MINANNOUNCEFREQUENCY": "Minimalus pranešimo pasikartojimas (naudingas, kai skambinančiojo padėtis dažnai keičiasi)",
+			"PERIODICANNOUNCEFREQUENCY": "Periodinių pranešimų pasikartojimas skambinančiajam",
+			"ANNOUNCEPOSITIONLIMIT": "Naudojama, jei pranešama pozicija yra apibrėžta kaip 'limitas' arba 'daugiau'",
+			"AFTERCALLWORKDURATION": "Pauzės ilgis, kuris suveikia Darbas po skambučio parinktyje",
+			"MEMBERDELAY": "Įterpia atidėjimą, kol skambinantysis ir agentas, esantis eilėje, bus sujungti",
+			"MUSICONHOLD": "Nustato muzikos rūšį, naudojamą tam tikrai eilei",
+			"ANNOUNCETOAGENT": "Paleisti pranešimą agentui, kuris atsiliepia į skambutį (paprastai tam, kad praneštų, iš kokios eilės skambinantysis yra)",
+			"RANDOMPERIODICANNOUNCE": "Jei taip, nustatyti periodiniai pranešimai bus paleidžiami atsitiktine tvarka",
+			"ANNOUNCEHOLDTIME": "Groja apskaičiuotą užlaikymo laiką kartu su periodiniais pranešimais (Taip/Ne/Kartą)",
+			"ANNOUNCECALLERPOSITION": "Naudojamas apibrėžti, ar reikia pranešti apie skambinančiojo vietą eilėje: Ne = niekada; Taip = visada; Limitas = tik tuo atveju, jei jis neviršija limito, apibrėžto pagal pranešimų-pozicijos-limitą; Daugiau = tik tuo atveju, jei viršijama reikšmė, apibrėžta pagal pranešimų-pozicijos-limitą",
+			"REPORTHOLDTIMEAGENT": "Leidžia pranešti agentui apie skambinančiojo sulaikymo laiką eilėje prieš sujungimą",
+			"PERIODICANNOUNCE": "Rinkinys periodinių pranešimų, kurie bus paleidžiami (eilės tvarka)",
+			"HOLDTIMEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Sulaikymo laikas'. Neapibrėžtas = jokio pranešimo",
+			"YOUARENEXTANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Dabar esate pirmas eilėje'. Neapibrėžtas = jokio pranešimo",
+			"THEREAREANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Yra'. Neapibrėžtas = jokio pranešimo",
+			"WAITINGCALLSANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Laukiantys skambučiai'. Neapibrėžtas = jokio pranešimo",
+			"ESTIMATEDHOLDTIMEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Dabartinis numatomas sulaikymo laikas yra'. Neapibrėžtas = jokio pranešimo",
+			"MINUTESANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Minutės'. Neapibrėžtas = jokio pranešimo",
+			"MINUTEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Minutė'. Neapibrėžtas = jokio pranešimo",
+			"SECONDSANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Sekundės'. Neapibrėžtas = jokio pranešimo",
+			"THANKYOUANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Ačiū už kantrybę'. Neapibrėžtas = jokio pranešimo",
+			"AFTERCALLWORK": "Jei įjungta, užbaigus skambutį agentui bus nustatyta Pauzė",
+			"AUTOPAUSE": "Įjungia/išjungia automatinę pauzę agentams, kurie neatsako į skambutį. Jei įjungta, agentas pristabdomas visose eilėse, kurioms jis priklauso.",
+			"RINGINUSE": "Neleisti/leisti siųsti skambučius nariams, kurių būsena yra Naudojamas",
+			"TIMEOUTRESTART": "Jei taip, tai iš naujo nustato agento atsakymo laiką, kai iš kanalo gaunama būsena UŽIMTAS arba PERKROVA",
+			"MONITORFORMAT": "Nurodo failo formatą, kurį reikia naudoti įrašant. Jei monitoriaus formatas neaktyvus, skambučiai nebus įrašomi",
+			"CONTEXT": "Leidžia skambinančiajam išeiti iš eilės paspaudus vieną DTMF skaitmenį. Jei nurodomas kontekstas ir skambintojas įveda numerį, tą skaičių bus bandoma suderinti su nurodytu kontekste, ir ten bus tęsiamas telefono numerio rinkimo atlikimas",
+			"SETINTERFACEVARIABLES": "Jei nustatyta taip, prieš pat skambinančiojo prijungimą prie eilės agento bus nustatyti kai kurie kintamieji (daugiau informacijos žr. wiki dokumentuose)",
+			"SETQUEUEVARIABLES": "Jei nustatyta taip, prieš pat skambinančiojo prijungimą prie eilės agento ir paliekant eilę, bus nustatyti kai kurie kintamieji (daugiau informacijos žr.  wiki dokumentuose)",
+			"SETQUEUEENTRYVARIABLES": "Jei nustatyta taip, prieš pat skambinančiojo prisijungimą prie eilės agento bus nustatyti kai kurie kintamieji (daugiau informacijos žr. wiki dokumentuose)",
+			"RECORDING": "Įjungti skambučių įrašymą",
+			"VOICEMAIL_CONTEXT": "Atitinkamo konteksto suteikimas",
+			"NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
+			"CALLERIDALL": "Palaikomas formatas: \"Skambintojo ID\" <numeris>",
+			"CALLER_ID": "Palaikomas formatas: \"Skambintojo ID\" <numeris>",
+			"MANDATORYDISPOSITIONPAUSEID": "Nustatyti pauzės būseną privalomo išdėstymo metu"
+		},
+		"MUSICONHOLD": "Muzika sulaikyta",
+		"ANNOUNCETOAGENT": "Pranešti agentui",
+		"ANNOUNCEMENTS": "Pranešimai",
+		"ADVANCED": "Pažengęs",
+		"ANNOUNCEFREQUENCY": "Pranešimo pasikartojimas",
+		"MINANNOUNCEFREQUENCY": "Minimalus pranešimo pasikartojimas",
+		"PERIODICANNOUNCEFREQUENCY": "Periodinis pranešimo pasikartojimas",
+		"RANDOMPERIODICANNOUNCE": "Atsitiktinis periodinis pranešimas",
+		"ANNOUNCEHOLDTIME": "Pranešimo sulaikymo laikas",
+		"ANNOUNCECALLERPOSITION": "Skambinančiojo pozicijos pranešimas",
+		"ANNOUNCEPOSITIONLIMIT": "Pozicijos limito pranešimas",
+		"REPORTHOLDTIMEAGENT": "Agento sulaikymo laiko ataskaita",
+		"PERIODICANNOUNCE": "Periodiškas pranešimas",
+		"HOLDTIMEANNOUNCE": "Sulaikymo laiko pranešimas",
+		"YOUARENEXTANNOUNCE": "'Jūs esate sekantis' pranešimas",
+		"THEREAREANNOUNCE": "'Yra' pranešimas",
+		"WAITINGCALLSANNOUNCE": "Laukiantys skambučiai pranešimas",
+		"ESTIMATEDHOLDTIMEANNOUNCE": "Numatomo sulaikymo laiko pranešimas",
+		"MINUTESANNOUNCE": "Minučių pranešimas",
+		"MINUTEANNOUNCE": "Minutės pranešimas",
+		"SECONDSANNOUNCE": "Sekundžių pranešimas",
+		"THANKYOUANNOUNCE": "'Ačiū' pranešimas",
+		"AUTOPAUSE": "Automatinė pauzė",
+		"AFTERCALLWORK": "Darbas užbaigus skambutį",
+		"AFTERCALLWORKDURATION": "Darbo trukmė užbaigus skambutį",
+		"RINGINUSE": "Skambutis būsenai Naudojamas",
+		"MEMBERDELAY": "Nario sulaikymas",
+		"TIMEOUTRESTART": "Pasibaigusio laiko perkrovimas",
+		"MONITORFORMAT": "Įrašymo formatas",
+		"SETINTERFACEVARIABLES": "Nustatyti sąsajos kintamuosius",
+		"SETQUEUEVARIABLES": "Nustatyti eilės kintamuosius",
+		"SETQUEUEENTRYVARIABLES": "Nustatyti eilės įvedimo kintamuosius",
+		"VARIABLE": "Kintamasis",
+		"CONTEXT": "Kontekstas",
+		"SAVE": "Išsaugoti",
+		"SETTINGS": "Nustatymai",
+		"INBOUNDROUTES": "Įeinantys maršrutai",
+		"PHONENUMBER": "Telefono numeris",
+		"ADD_INBOUNDROUTE": "Pridėti įeinantį maršrutą",
+		"EDIT_INBOUNDROUTE": "Redaguoti įeinantį maršrutą",
+		"DELETE_INBOUNDROUTE": "Ištrinti įeinantį maršrutą",
+		"ACTIONS": "Veiksmai",
+		"OUTBOUNDROUTES": "Išeinantys maršrutai",
+		"DESTINATIONPATTERN": "Paskirties modelis",
+		"ADD_OUTBOUNDROUTE": "Pridėti išeinantį maršrutą",
+		"EDIT_OUTBOUNDROUTE": "Redaguoti išeinantį maršrutą",
+		"DELETE_OUTBOUNDROUTE": "Ištrinti išeinantį maršrutą",
+		"CUTDIGITS": "Iškirpti skaitmenis",
+		"RECORDING": "Įrašymas",
+		"RECORDINGFORMAT": "Įrašymo formatas",
+		"INTERNALROUTES": "Vidiniai maršrutai",
+		"ADD_INTERNALROUTE": "Pridėti vidinį maršrutą",
+		"EDIT_INTERNALROUTE": "Redaguoti vidinį maršrutą",
+		"DELETE_INTERNALROUTE": "Ištrinti vidinį maršrutą",
+		"CONTEXTS": "Kontekstas",
+		"ADD_CONTEXT": "Pridėti kontekstą",
+		"EDIT_CONTEXT": "Redaguoti kontekstą",
+		"DELETE_CONTEXT": "Ištrinti kontekstą",
+		"VOICEMAILS": "Balso pašto adresai",
+		"ADD_VOICEMAIL": "Pridėti balso pašto adresą",
+		"EDIT_VOICEMAIL": "Redaguoti balso pašto adresą",
+		"DELETE_VOICEMAIL": "Ištrinti balso pašto adresą",
+		"FULLNAME": "Vardas ir pavardė",
+		"EMAIL": "El. paštas",
+		"MAILBOX": "Pašto dėžutė",
+		"PASSWORD": "Slaptažodis",
+		"CONFIRM_PASSWORD": "Patvirtinti slaptažodį",
+		"TIMEZONE": "Laiko juosta",
+		"ATTACH": "Pridėti",
+		"ENVELOPE": "Vokas",
+		"DELETE": "Ištrinti",
+		"EMAILBODY": "El. pašto adresas",
+		"EMAILSUBJECT": "El. laiško tema",
+		"MAXSECONDS": "Maksimalios sekundės",
+		"MAXMESSAGES": "Maksimalios žinutės",
+		"MESSAGES": "Žinutės",
+		"SORT": "Rūšiuoti",
+		"ADD_MUSICONHOLD": "Pridėti muzikos sulaikymą",
+		"MUSICONHOLDS": "Muzikos sulaikymas",
+		"EDIT_MUSICONHOLD": "Redaguoti muzikos sulaikymą",
+		"DELETE_MUSICONHOLD": "Ištrinti muzikos sulaikymą",
+		"DIRECTORY": "Katalogas",
+		"AUDIOFILES": "Garso failai",
+		"RECORDINGS": "Įrašai",
+		"CHANSPY": "Skambučių stebėjimas",
+		"PREFIX": "Prefiksas",
+		"OPTIONS": "Parinktys",
+		"AUTH": "Aut",
+		"ADD_CHANSPY": "Pridėti skambučių stebėjimą",
+		"EDIT_CHANSPY": "Redaguoti skambučių stebėjimą",
+		"DELETE_CHANSPY": "Ištrinti skambučių stebėjimą",
+		"AGENTS": "Agentai",
+		"TELEPHONES": "Telefonai",
+		"QUEUES": "Eilės",
+		"QUEUE_CALLS": "Eilės skambučiai",
+		"QUEUE_PARAMETERS": "Eilės parametrai",
+		"ABANDONED_CALLS": "Pamesti skambučiai",
+		"OUTBOUND_CALLS": "Išeinantys skambučiai",
+		"AGI": "AGI",
+		"DIAL": "Rinkimas",
+		"CALLYSQUARE": "IVR programų valgymo įrankis",
+		"INTERNALDIAL": "Vidinis rinkiklis",
+		"EXTERNALDIAL": "Išorinis rinkiklis",
+		"RINGGROUP": "Skambučio grupė",
+		"PLAYBACK": "Atkūrimas",
+		"QUEUE": "Eilė",
+		"SET": "Nustatyti",
+		"VOICEMAIL": "Balso paštas",
+		"GOTO": "Eiti į",
+		"HANGUP": "Atidėti",
+		"CUSTOM": "Įprastas",
+		"PROJECT": "IVR programų valdymo įrankio projektas",
+		"TECHNOLOGY/RESOURCE": "Technologija/Šaltinis",
+		"URL": "URL",
+		"EDIT_APP": "Redaguoti programą",
+		"EDIT_INTERVAL": "Redaguoti intervalą",
+		"DELETE_APP": "Ištrinti programą",
+		"INTERVALS": "Intervalai",
+		"USER": "Vartotojas",
+		"TRUNK": "Ryšio kanalas",
+		"PHONE": "Telefonas",
+		"AUDIO_FILES": "Garso failai",
+		"ANNOUNCE_OVERRIDES": "Pranešimo perrašymas",
+		"MACRO": "Makro",
+		"GOSUB": "GoSub",
+		"RULE": "Taisyklė",
+		"POSITION": "Pozicija",
+		"ANSWER": "Atsiliepti",
+		"VALUE": "Reikšmė",
+		"MAILBOX@CONTEXT": "Pašto dėžutė@Kontekstas",
+		"EXTENSION": "Pratęsimas",
+		"PRIORITY": "Prioritetas",
+		"HANGUP_CAUSE": "Atidėjimo priežastis",
+		"OUTBOUNDDIAL": "Išeinantis rinkimas",
+		"CALLER_ID": "Skambintojo ID",
+		"NO_MESSAGE_AVAILABLE": "Nėra žinučių",
+		"NO_SOUND_AVAILABLE": "Nėra garsų",
+		"VOICERECORDINGS": "Balso įrašai",
+		"CHANSPIES": "Skambučių stebėjimas",
+		"VOICE": "Balsas",
+		"REALTIME": "Realus laikas",
+		"ID": "Id",
+		"VOICEMAIL_CONTEXT": "Kontekstas",
+		"NO_MOHSOUND_AVAILABLE": "Nėra sulaikymo muzikos",
+		"FILE": "Failas",
+		"ADD_MOHSOUND": "Pridėti sulaikymo muzikos garsą",
+		"DOWNLOAD_MOHSOUND": "Parsisiųsti sulaikymo muzikos garsą",
+		"DELETE_MOHSOUND": "Ištrinti sulaikymo muzikos garsą",
+		"UNIQUEID": "Unikalus ID",
+		"AGENT": "Agentas",
+		"TYPE": "Tipas",
+		"RATING": "Įvertinimas",
+		"AUDIO": "Garsas",
+		"DATE": "Data",
+		"NEW_VOICEQUEUE": "Nauja balso eilė",
+		"NEW_INBOUNDROUTE": "Naujas įeinančių maršrutas",
+		"NEW_OUTBOUNDROUTE": "Naujas išeinančių maršrutas",
+		"NEW_INTERNALROUTE": "Naujas vidinis maršrutas",
+		"NEW_CONTEXT": "Naujas kontekstas",
+		"NEW_VOICEMAIL": "Naujas balso paštas",
+		"NEW_MUSICONHOLD": "Nauja sulaikymo muzika",
+		"NEW_CHANSPY": "Naujas skambučių stebėjimas",
+		"PENALTY": "Nuobauda",
+		"ADD_TEAM_TO_VOICEQUEUE": "Pridėti komandą prie balso eilės",
+		"ADD_AGENT_TO_VOICEQUEUE": "Pridėti agentą prie balso eilės",
+		"EDIT_DIAL": "Redaguoti rinkiklį",
+		"EDIT_AGI": "Redaguoti AGI",
+		"EDIT_INTERNALDIAL": "Redaguoti vidinį rinkiklį",
+		"EDIT_EXTERNALDIAL": "Redaguoti išorinį rinkiklį",
+		"EDIT_RINGGROUP": "Redaguoti skambučio grupę",
+		"EDIT_PLAYBACK": "Redaguoti atkūrimą",
+		"EDIT_QUEUE": "Redaguoti eilę",
+		"EDIT_SET": "Redaguoti nustatytuosius",
+		"EDIT_GOTO": "Redaguoti Eiti į",
+		"EDIT_HANGUP": "Redaguoti atidėjimą",
+		"EDIT_CUSTOM": "Redaguoti įprastą",
+		"DURATION": "Trukmė",
+		"RECEIVED_AT": "Gauta iš",
+		"YES": "Taip",
+		"NO": "Ne",
+		"HANGUPCAUSE_1": "1 = Nepaskirstytas numeris",
+		"HANGUPCAUSE_16": "16 = Įprastas skambučių tvarkymas",
+		"HANGUPCAUSE_17": "17 = Vartotojas užimtas",
+		"HANGUPCAUSE_18": "18 = Vartotojas neatsako (telefono įrenginys neprijungtas)",
+		"HANGUPCAUSE_21": "21 = Skambutis atmestas",
+		"HANGUPCAUSE_22": "22 = Numeris pasikeitė",
+		"HANGUPCAUSE_27": "27 = Paskirties vieta netinkama",
+		"HANGUPCAUSE_38": "38 = Tinklas netinkamas",
+		"HANGUPCAUSE_41": "41 = Laikinas gedimas",
+		"RANDOM": "Atsitiktinis",
+		"ALPHABETICAL": "Abėcėlės tvarka",
+		"NO_APPS_AVAILABLE": "Nėra programų",
+		"DOWNLOAD_VOICERECORDING": "Parsisiųsti balso įrašą",
+		"DELETE_VOICERECORDING": "Ištrinti balso įrašą",
+		"INTERNAL": "Vidinis",
+		"PHONE_STATE": "Telefono padėtis",
+		"PHONE_STATUS": "Telefono būsena",
+		"TRUNK_STATUS": "Ryšio kanalo būsena",
+		"REGISTERED": "Registruotas",
+		"UNREGISTERED": "Neregistruotas",
+		"LAGGED": "Vėlavimas",
+		"REACHABLE": "Pasiekiamas",
+		"UNREACHABLE": "Nepasiekiamas",
+		"UNKNOWN": "Nežinomas",
+		"NOT_INUSE": "Nenaudojamas",
+		"INUSE": "Naudojamas",
+		"BUSY": "Užimtas",
+		"INVALID": "Neteisingas",
+		"UNAVAILABLE": "Nepasiekiamas",
+		"RINGING": "Skambinimas",
+		"ONHOLD": "Sulaikytas",
+		"RING": "Skambutis",
+		"UP": "Aukštyn",
+		"INFO": "Informacija",
+		"TRUNKS": "Ryšio kanalai",
+		"REGISTRY": "Registras",
+		"NO_REGISTRY": "Nėra registro",
+		"LOGGED_IN": "Prisijungęs (prijungtas prie SIP)",
+		"PAUSED": "Pristabdyta",
+		"WAITING": "Laukiama",
+		"TALKING": "Kalbama",
+		"DID": "Padaryta",
+		"CALLER": "Skambinantysis",
+		"TOTAL": "Viso",
+		"ANSWERED": "Atsiliepta",
+		"ABANDONED": "Pamestas",
+		"UNMANAGED": "Nevaldomas",
+		"AVG_HOLD_TIME": "Vidutinis sulaikymo laikas",
+		"AVG_DURATION": "Vidutinė trukmė",
+		"AVG_BILLABLE": "Vidutinis apmokestinimas",
+		"SOURCE": "Šaltinis",
+		"DESTINATION": "Paskirties vieta",
+		"REJECTED": "Atmestas",
+		"FAILED": "Nepavykęs",
+		"CALLED": "Paskambinta",
+		"CONNECTED": "Sujungtas",
+		"NO_RATING": "Nėra įvertinimo",
+		"EDIT_VOICERECORDING": "Redaguoti balso įrašymą",
+		"APPLICATION_NAME": "Programos pavadinimas",
+		"ARGUMENTS": "Argumentai",
+		"NO_AVAILABLE_INFO": "Nėra prieinamos informacijos",
+		"ADD_AGENT_TO_QUEUE": "Pridėti agentą į eilę",
+		"DEFAULT_PAUSE": "Numatytoji pauzė",
+		"PAUSE": "Pauzė",
+		"UNPAUSE": "Baigti pauzę",
+		"REDIRECT_TO_NUMBER": "Peradresuoti į numerį",
+		"REDIRECT_TO_AGENT": "Peradresuoti agentui",
+		"AGENTADD_VOICEQUEUE": "Pridėti agentą prie balso eilės",
+		"APPLICATION": "Programa",
+		"FILES": "Failai",
+		"FORMAT": "Formatas",
+		"MODE": "Režimas",
+		"RECORD": "Įrašas",
+		"TEAMADD_VOICEQUEUE": "Pridėti komandą prie balso eilės",
+		"NEW_MOHSOUND": "Naujas sulaikymo muzikos garsas",
+		"DOWNLOAD_MESSAGE": "Parsisiųsti",
+		"DELETE_MESSAGE": "Ištrinti",
+		"QUEUE_PARAMS": "Eilės parametrai",
+		"TOTAL_OFFERED": "Iš viso siūloma",
+		"READY": "Parengta",
+		"AGENTADD_QUEUE": "Pridėti agentą prie balso eilės",
+		"AGENTSADD_QUEUE": "Pridėti agentus prie balso eilės",
+		"ALL_TEAMS": "Visos komandos",
+		"SELECTED_TEAMS": "Pasirinktos komandos",
+		"ALL_AGENTS": "Visi agentai",
+		"SELECTED_AGENTS": "Pasirinkti agentai",
+		"CLOSING": "Uždarymas",
+		"TAGS": "Žymos",
+		"WAITING_FOR_AGENT": "Laukiama agentų",
+		"EDIT_OUTBOUNDDIAL": "Redaguoti išeinantį rinkiklį",
+		"ACCOUNTNAME": "Paskyros vardas",
+		"PAGE": "Puslapis",
+		"ROWSPERPAGE": "Eilutės puslapyje",
+		"OF": "Apie",
+		"DISPOSITION": "Išdėstymas",
+		"CHAT": "Pokalbis",
+		"MAIL": "El. paštas",
+		"SMS": "Trumpoji žinutė",
+		"OPENCHANNEL": "Atidaryti kanalą",
+		"FAX": "Faksas",
+		"CLEAR": "Valyti",
+		"CALLS": "Skambučiai",
+		"STARTEDAT": "Pradėjo",
+		"ENDEDAT": "Baigėsi",
+		"TAG": "Žyma",
+		"DETAILS": "Detalės",
+		"BILLABLESECONDS": "Apmokestinamos sekundės",
+		"ANSWEREDAT": "Atsakyta",
+		"NOTE": "Pastaba",
+		"CLOSE": "Uždaryti",
+		"SELECT_DATE": "Pasirinkti pradžios datą",
+		"SELECT_TYPE": "Pasirinkti tipą",
+		"VOICEPREFIXES": "Išėję prefiksai",
+		"NEW_VOICEPREFIX": "Naujas prefiksas",
+		"ADD_VOICEPREFIX": "Pridėti prefiksą",
+		"EDIT_VOICEPREFIX": "Redaguoti prefiksą",
+		"AGENTADD_VOICEPREFIX": "Pridėti agentą prie prefikso",
+		"DELETE_VOICEPREFIX": "Ištrinti prefiksą",
+		"OUTBOUNDROUTE": "Išeinantis maršrutas",
+		"CALLERIDALL": "Skambintojo ID",
+		"MANDATORYDISPOSITION": "Privalomas išdėstymas",
+		"MANDATORYDISPOSITIONPAUSEID": "Privalomas pauzės būsenos išdėstymas",
+		"SCREENRECORDING": "Tvarkyti ekrano įrašymą",
+		"START_SCREENRECORDING": "Pradėti ekrano įrašymą",
+		"STOP_SCREENRECORDING": "Sustabdyti ekrano įrašymą",
+		"TOOLTIP_SCREENRECORDING_ON": "Vyksta ekrano įrašymas",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekrano įrašymas prieinamas",
+		"CANT_DOWNLOAD_THIS_FILE": "Neįmanoma atsisiųsti šio failo",
+		"WRONG_EXTENSION": "Faile pateiktas neteisingas plėtinys",
+		"FILE_NOT_FOUND": "Failas nerastas",
+		"TEAMS_ASSOCIATION": "Komandų asociacija",
+		"DOWNLOADTRANSCRIBE_VOICERECORDING": "Atsisiųsti nuorašą",
+		"FAILUREREASON": "Nesėkmės priežastis",
+		"RUNSENTIMENT_VOICERECORDING": "Paleisk nuotaiką",
+		"RUNTRANSCRIBESENTIMENT_VOICERECORDING": "Vykdykite transkribavimą ir nuotaikas",
+		"RUNTRANSCRIBE_VOICERECORDING": "Vykdykite transkripciją",
+		"SENTIMENT": "Nuotaika",
+		"SENTIMENTANALYSIS": "Sentimentų analizė",
+		"SENTIMENT_MIXED": "Mišrus",
+		"SENTIMENT_NEGATIVE": "Neigiama",
+		"SENTIMENT_NEUTRAL": "Neutralus",
+		"SENTIMENT_POSITIVE": "Teigiamas",
+		"TEXT": "Tekstas",
+		"TRANSCRIBE": "Transkribuoti",
+		"TRANSCRIBESTATUS_COMPLETED": "Baigta",
+		"TRANSCRIBESTATUS_FAILED": "Nepavyko",
+		"TRANSCRIBESTATUS_IN_PROGRESS": "Vykdoma",
+		"TRANSCRIBESTATUS_NEW": "Nauja",
+		"TRANSCRIPT": "Nuorašas",
+		"TRANSCRIPTANALYSIS": "Nuorašas ir analizė"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/ar.json b/public/app/main/apps/whatsapp/i18n/ar.json
new file mode 100644
index 0000000..93f6d71
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/ar.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "حقل الزامي",
+			"ACCOUNTSID_REQUIRED": "حقل الزامي",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
+			"AGENT_REQUIRED": "حقل الزامي",
+			"AGENT_TIMEOUT_REQUIRED": "حقل الزامي",
+			"AUTHTOKEN_REQUIRED": "حقل الزامي",
+			"BOTNAME_REQUIRED": "حقل الزامي",
+			"COMMAND_REQUIRED": "حقل الزامي",
+			"CONDITION_REQUIRED": "حقل الزامي",
+			"DESCRIPTION_REQUIRED": "حقل الزامي",
+			"DISPOSITION_REQUIRED": "حقل الزامي",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+			"FALSEPRIORITY_REQUIRED": "حقل الزامي",
+			"KEY_MAX_LENGTH": "يجب أن يكون أقصى طول للقيمة يساوي {{max}}",
+			"KEY_REQUIRED": "حقل الزامي",
+			"LANGUAGE_REQUIRED": "Mandtory فيلد",
+			"LEXREGION_REQUIRED": "حقل الزامي",
+			"LIST_REQUIRED": "حقل الزامي",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي",
+			"NAME_REQUIRED": "حقل الزامي",
+			"PHONE_REQUIRED": "حقل الزامي",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+			"PRIORITY_REQUIRED": "حقل الزامي",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
+			"QUEUE_REQUIRED": "حقل الزامي",
+			"SECRETACCESSKEY_REQUIRED": "حقل الزامي",
+			"TAG_REQUIRED": "حقل الزامي",
+			"TEXT_REQUIRED": "حقل الزامي",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
+			"TIMEOUT_REQUIRED": "حقل الزامي",
+			"TIMES_REQUIRED": "حقل الزامي",
+			"TOKEN_REQUIRED": "حقل الزامي",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+			"TRUEPRIORITY_REQUIRED": "حقل الزامي",
+			"TYPE_REQUIRED": "حقل الزامي",
+			"VALUE_REQUIRED": "حقل الزامي",
+			"VARIABLE_REQUIRED": "حقل الزامي",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "حقل الزامي",
+			"WELCOMEMESSAGE_MAX_LENGTH": "يجب أن يكون أقصى طول للقيمة يساوي {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "حقل الزامي"
+		},
+		"HELP": {
+			"LIST": "تستخدم قائمة مدير جهات الاتصال لربط جهات الاتصال",
+			"MANDATORYDISPOSITION": "التصرف الإلزامي",
+			"MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام عند تمكين التخلص الإلزامي",
+			"MOTIONPROXY": "يجب أن يكون للحقل التنسيق التالي: <بروتوكول>: // <ipaddress> [: <port>]. مثال: https: //X.Y.Z.W",
+			"NAME": "يتم دعم الأرقام والأحرف والأحرف المحددة (._) فقط",
+			"RECEIVEURL": "هذه هي سلسلة واجهة برمجة التطبيقات التي يتم إنشاؤها تلقائيًا والتي تحتاج إلى استخدامها لتلقي الرسائل داخل حسابك من موفر WhatsApp Connector الخاص بك (يجب استخدام طريقة POST): انقر فوق زر الحافظة لنسخها",
+			"WELCOMEMESSAGE": "هذه هي أول رسالة رد تُرسل إلى التفاعلات الجديدة"
+		},
+		"ACCESSKEYID": "معرف مفتاح الوصول",
+		"ACCOUNTSID": "SID الحساب",
+		"ACTIONS": "أجراءات",
+		"ADD_NOTE": "اضف ملاحظة",
+		"ADD_WHATSAPPACCOUNT": "أضف",
+		"ADD_WHATSAPPCANNEDANSWER": "أضف إجابة جاهزة",
+		"ADD_WHATSAPPDISPOSITION": "أضف ترتيب WhatsApp",
+		"ADD_WHATSAPPQUEUE": "أضف قائمة انتظار WhatsApp",
+		"ADVANCED": "المتقدمة",
+		"AGENT": "وكيل",
+		"AGENTADD_QUEUE": "إضافة عامل إلى قائمة انتظار WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "إضافة وكيل لحساب WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "إضافة عامل إلى قائمة انتظار WhatsApp",
+		"AGENTS": "عملاء",
+		"AGENTSADD_QUEUE": "أضف وكلاء إلى قائمة انتظار WhatsApp",
+		"AGENTTRANSFER": "نقل الوكيل",
+		"AGENTTRANSFERTIMEOUT": "مهلة نقل الوكيل",
+		"AGENT_TIMEOUT": "مهلة الوكيل",
+		"ALL": "الكل",
+		"ALL_AGENTS": "كل الوكلاء",
+		"ALL_TEAMS": "كل الفرق",
+		"AMAZONLEX": "أمازون ليكس",
+		"AUTHTOKEN": "رمز المصادقة",
+		"AUTOREPLY": "رد آلي",
+		"BACK": "عودة",
+		"BOTNAME": "اسم البوت",
+		"BUSY": "مشغول",
+		"CANNEDANSWERS": "الإجابات المعلبة",
+		"CANNED_ANSWER_NOT_FOUND": "لم يتم العثور على إجابات جاهزة",
+		"CANNED_ANSWER_SEARCH": "أدخل نصًا للبحث في إجابة جاهزة",
+		"CAPACITY": "سعة",
+		"CLOSE": "قريب",
+		"CLOSED": "مغلق",
+		"CLOSEMETHOD": "طريقة الإغلاق",
+		"CLOSEURL": "إغلاق URL",
+		"COMMAND": "أمر",
+		"CONDITION": "شرط",
+		"CONTACT": "اتصل",
+		"CREATED_AT": "أنشئت في",
+		"DEFAULT_PAUSE": "وقفة افتراضية",
+		"DELETE": "حذف",
+		"DELETE_INTERACTION": "حذف التفاعل",
+		"DELETE_SELECTED": "احذف المختار",
+		"DELETE_WHATSAPPACCOUNT": "احذف حساب WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "تم الحذف",
+		"DELETE_WHATSAPPDISPOSITION": "احذف ترتيب WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "حذف قائمة الانتظار WhatsApp",
+		"DESCRIPTION": "وصف",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "تغير",
+		"DISPOSITIONS": "التصرفات",
+		"DOWNLOAD_INTERACTION": "تحميل",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "تحميل بدون مرفقات",
+		"DOWNLOAD_WITH_ATTACHMENTS": "تحميل مع المرفقات",
+		"EDIT_AGENT": "تحرير الوكيل",
+		"EDIT_AMAZONLEX": "تحرير تكوين Lex",
+		"EDIT_AUTOREPLY": "تحرير الرد التلقائي",
+		"EDIT_CLOSE": "تحرير إغلاق",
+		"EDIT_DIALOGFLOW": "تحرير تكوين DialogFlow",
+		"EDIT_GOTOIF": "تحرير Gotoif",
+		"EDIT_GOTOP": "تحرير Gotop",
+		"EDIT_NOOP": "تحرير Noop",
+		"EDIT_QUEUE": "تحرير قائمة الانتظار",
+		"EDIT_SYSTEM": "تحرير النظام",
+		"EDIT_TAG": "تحرير العلامة",
+		"EDIT_WHATSAPPACCOUNT": "تحرير حساب WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "تعديل",
+		"EDIT_WHATSAPPDISPOSITION": "تحرير ترتيب WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "تحرير WhatsApp Queue",
+		"FALSEPRIORITY": "أولوية خاطئة",
+		"GENERAL": "جنرال لواء",
+		"GOTOIF": "قطوف",
+		"GOTOP": "جوتوب",
+		"GOTOREALTIME_WHATSAPPQUEUE": "انتقل إلى Realtime WhatsApp Queue",
+		"GO_TO_WHATSAPPACCOUNTS": "اذهب إلى الحساب",
+		"ID": "هوية شخصية",
+		"IDLE": "الخمول",
+		"INSERT_MESSAGE_HERE": "أدخل الرسالة هنا",
+		"INTERACTIONS": "التفاعلات",
+		"INTERACTIONS_WHATSAPPACCOUNT": "انتقل إلى التفاعلات",
+		"KEY": "مفتاح",
+		"LANGUAGE": "لغة",
+		"LASTMESSAGE": "اخر رسالة",
+		"LEXREGION": "منطقة",
+		"LIST": "قائمة",
+		"LOGGED_IN": "تم تسجيل الدخول (SIP متصل)",
+		"LOGIN_TIME": "وقت تسجيل الدخول",
+		"LOGOUT": "تسجيل خروج",
+		"MANDATORYDISPOSITION": "الترتيب الإلزامي",
+		"MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام عند تمكين التخلص الإلزامي",
+		"MORE": "أكثر",
+		"MOTIONPROXY": "الوكيل أو مجال الحركة",
+		"MULTI_SELECT_TOGGLE": "متعدد تحديد تبديل",
+		"NAME": "اسم",
+		"NEW_WHATSAPPACCOUNT": "حساب WhatsApp جديد",
+		"NEW_WHATSAPPCANNEDANSWER": "إجابة WhatsApp جديدة معلبة",
+		"NEW_WHATSAPPDISPOSITION": "ترتيب WhatsApp الجديد",
+		"NEW_WHATSAPPQUEUE": "قائمة انتظار WhatsApp الجديدة",
+		"NOOP": "نوب",
+		"NOTE": "ملحوظة",
+		"NOTIFICATION": "تنبيه",
+		"NOTIFICATIONSHAKE": "هزة",
+		"NOTIFICATIONSOUND": "صوت",
+		"NOTIFICATIONTEMPLATE": "قالب",
+		"NO_AGENT_ONLINE": "لا يوجد وكيل على الإنترنت",
+		"NO_AVAILABLE_INFO": "لا توجد معلومات متاحة",
+		"NO_INTERACTION_AVAILABLE": "لا توجد تفاعلات متاحة",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "لا توجد إجابات جاهزة لتطبيق WhatsApp",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "لا تتوفر ترتيبات WhatsApp",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "لا توجد حسابات WhatsApp متاحة",
+		"OF": "من",
+		"OPENED": "افتتح",
+		"PAGE": "الصفحة",
+		"PARTIALPAUSE": "وقفة جزئية",
+		"PAUSE": "وقفة",
+		"PAUSED": "متوقف مؤقتًا",
+		"PAUSE_TIME": "وقفة الوقت",
+		"PHONE": "هاتف",
+		"PRIORITY": "أفضلية",
+		"PROXY": "الوكيل",
+		"QUEUE": "طابور",
+		"QUEUES": "قوائم الانتظار",
+		"QUEUETRANSFER": "تحويل قائمة الانتظار",
+		"QUEUETRANSFERTIMEOUT": "مهلة نقل قائمة الانتظار",
+		"READY": "جاهز",
+		"REALTIME": "في الوقت الحالى",
+		"RECEIVEURL": "تلقي URL",
+		"REFRESH_INTERACTIONS": "تحديث التفاعلات",
+		"REMOTE": "التحكم عن بعد",
+		"ROWSPERPAGE": "عدد الصفوف في الصفحة",
+		"SAVE": "حفظ",
+		"SCREENRECORDING": "إدارة تسجيل الشاشة",
+		"SEARCH_FOR_ANYONE": "بحث",
+		"SECRETACCESSKEY": "سر مفتاح الوصول",
+		"SELECTED": "المحدد",
+		"SELECTED_AGENTS": "الوكلاء المختارون",
+		"SELECTED_TEAMS": "فرق مختارة",
+		"SELECT_ALL": "اختر الكل",
+		"SELECT_NONE": "لا تختر شيء",
+		"SEND": "إرسال",
+		"SETTINGS": "الإعدادات",
+		"SPYINTERACTION": "تفاعل التجسس",
+		"STARTEDAT": "بدأت في",
+		"START_SCREENRECORDING": "بدء تسجيل الشاشة",
+		"STATUS": "الحالة",
+		"STOP_SCREENRECORDING": "وقف تسجيل الشاشة",
+		"STRATEGY": "إستراتيجية",
+		"SYSTEM": "النظام",
+		"TAG": "بطاقة شعار",
+		"TAGS": "العلامات",
+		"TEAMADD_WHATSAPPQUEUE": "أضف فريقًا إلى قائمة انتظار WhatsApp",
+		"TEAMS_ASSOCIATION": "جمعية الفرق",
+		"TEXT": "نص",
+		"TIMEOUT": "نفذ الوقت",
+		"TIMER": "الموقت",
+		"TIMES": "مرات",
+		"TO": "إلى",
+		"TOKEN": "رمز",
+		"TOOLTIP_SCREENRECORDING_OFF": "تسجيل الشاشة متاح",
+		"TOOLTIP_SCREENRECORDING_ON": "تسجيل الشاشة قيد التقدم",
+		"TRANSFER": "نقل",
+		"TRUEPRIORITY": "أولوية حقيقية",
+		"TYPE": "نوع",
+		"UNPAUSE": "إنهاء وقفة",
+		"VALUE": "القيمة",
+		"VARIABLE": "متغير",
+		"WAITFORTHEASSIGNEDAGENT": "انتظر الوكيل المعين",
+		"WAITING": "انتظار",
+		"WELCOMEMESSAGE": "رسالة ترحيب",
+		"WHATSAPP": "رابط WhatsApp",
+		"WHATSAPPACCOUNTS": "حسابات WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "إجابات WhatsApp المعلبة",
+		"WHATSAPPDISPOSITIONS": "تصرفات WhatsApp",
+		"WHATSAPPQUEUES": "قوائم انتظار WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/cs.json b/public/app/main/apps/whatsapp/i18n/cs.json
new file mode 100644
index 0000000..82313b5
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/cs.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Povinné pole",
+			"ACCOUNTSID_REQUIRED": "Povinné pole",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Povinné pole",
+			"AGENT_REQUIRED": "Povinné pole",
+			"AGENT_TIMEOUT_REQUIRED": "Povinné pole",
+			"AUTHTOKEN_REQUIRED": "Povinné pole",
+			"BOTNAME_REQUIRED": "Povinné pole",
+			"COMMAND_REQUIRED": "Povinné pole",
+			"CONDITION_REQUIRED": "Povinné pole",
+			"DESCRIPTION_REQUIRED": "Povinné pole",
+			"DISPOSITION_REQUIRED": "Povinné pole",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"FALSEPRIORITY_REQUIRED": "Povinné pole",
+			"KEY_MAX_LENGTH": "Hodnota musí mít maximální délku rovnou {{max}}",
+			"KEY_REQUIRED": "Povinné pole",
+			"LANGUAGE_REQUIRED": "Povinné pole",
+			"LEXREGION_REQUIRED": "Povinné pole",
+			"LIST_REQUIRED": "Povinné pole",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
+			"NAME_REQUIRED": "Povinné pole",
+			"PHONE_REQUIRED": "Povinné pole",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"PRIORITY_REQUIRED": "Povinné pole",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Povinné pole",
+			"QUEUE_REQUIRED": "Povinné pole",
+			"SECRETACCESSKEY_REQUIRED": "Povinné pole",
+			"TAG_REQUIRED": "Povinné pole",
+			"TEXT_REQUIRED": "Povinné pole",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
+			"TIMEOUT_REQUIRED": "Povinné pole",
+			"TIMES_REQUIRED": "Povinné pole",
+			"TOKEN_REQUIRED": "Povinné pole",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"TRUEPRIORITY_REQUIRED": "Povinné pole",
+			"TYPE_REQUIRED": "Povinné pole",
+			"VALUE_REQUIRED": "Povinné pole",
+			"VARIABLE_REQUIRED": "Povinné pole",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Povinné pole",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Hodnota musí mít maximální délku rovnou {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Povinné pole"
+		},
+		"HELP": {
+			"LIST": "Seznam Správce kontaktů používaný k přiřazení kontaktů",
+			"MANDATORYDISPOSITION": "Povinná dispozice",
+			"MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
+			"MOTIONPROXY": "Pole musí mít následující formát: <protocol>: // <ipaddress> [: <port>]. Příklad: https: //X.Y.Z.W",
+			"NAME": "Podporovány jsou pouze čísla, písmena a specifické znaky (._)",
+			"RECEIVEURL": "Toto je automaticky generovaný řetězec API, který musíte použít k přijímání zpráv v účtu od poskytovatele WhatsApp Connector (musí být použita metoda POST): zkopírujte jej kliknutím na tlačítko schránky",
+			"WELCOMEMESSAGE": "Toto je první odezva na nové interakce"
+		},
+		"ACCESSKEYID": "ID přístupového klíče",
+		"ACCOUNTSID": "SID účtu",
+		"ACTIONS": "Akce",
+		"ADD_NOTE": "Přidat poznámku",
+		"ADD_WHATSAPPACCOUNT": "Přidat",
+		"ADD_WHATSAPPCANNEDANSWER": "Přidat předpřipravenou odpověď",
+		"ADD_WHATSAPPDISPOSITION": "Přidat Dispozici WhatsApp",
+		"ADD_WHATSAPPQUEUE": "Přidejte frontu WhatsApp",
+		"ADVANCED": "Pokročilý",
+		"AGENT": "Činidlo",
+		"AGENTADD_QUEUE": "Přidejte agenta do fronty WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Přidejte agenta do účtu WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Přidejte agenta do fronty WhatsApp",
+		"AGENTS": "Agenti",
+		"AGENTSADD_QUEUE": "Přidejte agenty do fronty WhatsApp",
+		"AGENTTRANSFER": "Převod agentů",
+		"AGENTTRANSFERTIMEOUT": "Časový limit přenosu agenta",
+		"AGENT_TIMEOUT": "Časový limit agenta",
+		"ALL": "Všechno",
+		"ALL_AGENTS": "Všichni agenti",
+		"ALL_TEAMS": "Všechny týmy",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Auth Token",
+		"AUTOREPLY": "Automatická odpověď",
+		"BACK": "Zadní",
+		"BOTNAME": "Název bota",
+		"BUSY": "Zaneprázdněný",
+		"CANNEDANSWERS": "Konzervované odpovědi",
+		"CANNED_ANSWER_NOT_FOUND": "Nebyly nalezeny žádné předpřipravené odpovědi",
+		"CANNED_ANSWER_SEARCH": "Zadejte text pro vyhledání odpovědi v konzervě",
+		"CAPACITY": "Kapacita",
+		"CLOSE": "Zavřít",
+		"CLOSED": "Zavřeno",
+		"CLOSEMETHOD": "Zavřít metodu",
+		"CLOSEURL": "Zavřít URL",
+		"COMMAND": "Příkaz",
+		"CONDITION": "Stav",
+		"CONTACT": "Kontakt",
+		"CREATED_AT": "Vytvořeno v",
+		"DEFAULT_PAUSE": "VÝCHOZÍ PAUSE",
+		"DELETE": "Vymazat",
+		"DELETE_INTERACTION": "Smazat interakci",
+		"DELETE_SELECTED": "Smazat vybrané",
+		"DELETE_WHATSAPPACCOUNT": "Odstraňte účet WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Vymazáno",
+		"DELETE_WHATSAPPDISPOSITION": "Odstranit Dispozici WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Odstranit frontu WhatsApp",
+		"DESCRIPTION": "Popis",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Dispozice",
+		"DISPOSITIONS": "Dispozice",
+		"DOWNLOAD_INTERACTION": "Stažení",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Stáhnout bez příloh",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Stáhnout s přílohami",
+		"EDIT_AGENT": "Upravit agenta",
+		"EDIT_AMAZONLEX": "Upravit konfiguraci Lex",
+		"EDIT_AUTOREPLY": "Upravit automatickou odpověď",
+		"EDIT_CLOSE": "Upravit Zavřít",
+		"EDIT_DIALOGFLOW": "Upravit konfiguraci DialogFlow",
+		"EDIT_GOTOIF": "Upravit Gotoif",
+		"EDIT_GOTOP": "Upravit Gotop",
+		"EDIT_NOOP": "Upravit Noop",
+		"EDIT_QUEUE": "Upravit frontu",
+		"EDIT_SYSTEM": "Upravit systém",
+		"EDIT_TAG": "Upravit značku",
+		"EDIT_WHATSAPPACCOUNT": "Upravit účet WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "Upravit",
+		"EDIT_WHATSAPPDISPOSITION": "Upravit WhatsApp Disposition",
+		"EDIT_WHATSAPPQUEUE": "Upravit frontu WhatsApp",
+		"FALSEPRIORITY": "Falešná priorita",
+		"GENERAL": "Všeobecné",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Jít nahoru",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Přejít do fronty WhatsApp v reálném čase",
+		"GO_TO_WHATSAPPACCOUNTS": "Přejít na účet",
+		"ID": "Id",
+		"IDLE": "Líný",
+		"INSERT_MESSAGE_HERE": "Sem vložte zprávu",
+		"INTERACTIONS": "Interakce",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Přejít na Interakce",
+		"KEY": "Klíč",
+		"LANGUAGE": "Jazyk",
+		"LASTMESSAGE": "Poslední zpráva",
+		"LEXREGION": "Kraj",
+		"LIST": "Seznam",
+		"LOGGED_IN": "Přihlášen (připojeno SIP)",
+		"LOGIN_TIME": "Čas přihlášení",
+		"LOGOUT": "Odhlásit se",
+		"MANDATORYDISPOSITION": "Povinná dispozice",
+		"MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
+		"MORE": "Více",
+		"MOTIONPROXY": "Proxy nebo pohybová doména",
+		"MULTI_SELECT_TOGGLE": "Přepnout na více výběrů",
+		"NAME": "název",
+		"NEW_WHATSAPPACCOUNT": "Nový účet WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Nová odpověď na otázku WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Nové dispozice WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Nová fronta WhatsApp",
+		"NOOP": "Noop",
+		"NOTE": "Poznámka",
+		"NOTIFICATION": "Oznámení",
+		"NOTIFICATIONSHAKE": "Otřást",
+		"NOTIFICATIONSOUND": "Zvuk",
+		"NOTIFICATIONTEMPLATE": "Šablona",
+		"NO_AGENT_ONLINE": "Žádný agent online",
+		"NO_AVAILABLE_INFO": "Nejsou k dispozici žádné informace",
+		"NO_INTERACTION_AVAILABLE": "K dispozici nejsou žádné interakce",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "K dispozici nejsou žádné odpovědi v WhatsApp",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "K dispozici nejsou žádné dispozice WhatsApp",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nejsou k dispozici žádné účty WhatsApp",
+		"OF": "z",
+		"OPENED": "Otevřeno",
+		"PAGE": "Strana",
+		"PARTIALPAUSE": "Částečná pauza",
+		"PAUSE": "Pauza",
+		"PAUSED": "Pozastaveno",
+		"PAUSE_TIME": "Pauza čas",
+		"PHONE": "Telefon",
+		"PRIORITY": "Přednost",
+		"PROXY": "Proxy",
+		"QUEUE": "Fronta",
+		"QUEUES": "Fronty",
+		"QUEUETRANSFER": "Převod fronty",
+		"QUEUETRANSFERTIMEOUT": "Časový limit přenosu fronty",
+		"READY": "Připraveno",
+		"REALTIME": "Reálný čas",
+		"RECEIVEURL": "Přijmout adresu URL",
+		"REFRESH_INTERACTIONS": "Aktualizujte interakce",
+		"REMOTE": "Dálkový",
+		"ROWSPERPAGE": "Řádky na stránku",
+		"SAVE": "Uložit",
+		"SCREENRECORDING": "Spravovat nahrávání obrazovky",
+		"SEARCH_FOR_ANYONE": "Vyhledávání",
+		"SECRETACCESSKEY": "Přístup k tajným klíčům",
+		"SELECTED": "Vybraný",
+		"SELECTED_AGENTS": "Vybraní agenti",
+		"SELECTED_TEAMS": "Vybrané týmy",
+		"SELECT_ALL": "Vybrat vše",
+		"SELECT_NONE": "Vyberte žádný",
+		"SEND": "Poslat",
+		"SETTINGS": "Nastavení",
+		"SPYINTERACTION": "Špionážní interakce",
+		"STARTEDAT": "Začal v",
+		"START_SCREENRECORDING": "Spusťte nahrávání obrazovky",
+		"STATUS": "Postavení",
+		"STOP_SCREENRECORDING": "Zastavte nahrávání obrazovky",
+		"STRATEGY": "Strategie",
+		"SYSTEM": "Systém",
+		"TAG": "Štítek",
+		"TAGS": "Značky",
+		"TEAMADD_WHATSAPPQUEUE": "Přidat tým do fronty WhatsApp",
+		"TEAMS_ASSOCIATION": "Asociace týmů",
+		"TEXT": "Text",
+		"TIMEOUT": "Časový limit",
+		"TIMER": "Časovač",
+		"TIMES": "Krát",
+		"TO": "Na",
+		"TOKEN": "Žeton",
+		"TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+		"TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
+		"TRANSFER": "Převod",
+		"TRUEPRIORITY": "Skutečná priorita",
+		"TYPE": "Typ",
+		"UNPAUSE": "Ukončit pauzu",
+		"VALUE": "Hodnota",
+		"VARIABLE": "Proměnná",
+		"WAITFORTHEASSIGNEDAGENT": "Počkejte na přiřazeného agenta",
+		"WAITING": "Čekání",
+		"WELCOMEMESSAGE": "Uvítací zpráva",
+		"WHATSAPP": "WhatsApp Connector",
+		"WHATSAPPACCOUNTS": "WhatsApp účty",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp Konzervované odpovědi",
+		"WHATSAPPDISPOSITIONS": "Dispozice WhatsApp",
+		"WHATSAPPQUEUES": "Fronty WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/da.json b/public/app/main/apps/whatsapp/i18n/da.json
new file mode 100644
index 0000000..d9ce574
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/da.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Obligatorisk felt",
+			"ACCOUNTSID_REQUIRED": "Obligatorisk felt",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
+			"AGENT_REQUIRED": "Obligatorisk felt",
+			"AGENT_TIMEOUT_REQUIRED": "Obligatorisk felt",
+			"AUTHTOKEN_REQUIRED": "Obligatorisk felt",
+			"BOTNAME_REQUIRED": "Obligatorisk felt",
+			"COMMAND_REQUIRED": "Obligatorisk felt",
+			"CONDITION_REQUIRED": "Obligatorisk felt",
+			"DESCRIPTION_REQUIRED": "Obligatorisk felt",
+			"DISPOSITION_REQUIRED": "Obligatorisk felt",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
+			"FALSEPRIORITY_REQUIRED": "Obligatorisk felt",
+			"KEY_MAX_LENGTH": "Værdien skal have en maksimal længde lig med {{max}}",
+			"KEY_REQUIRED": "Obligatorisk felt",
+			"LANGUAGE_REQUIRED": "Mandtory Field",
+			"LEXREGION_REQUIRED": "Obligatorisk felt",
+			"LIST_REQUIRED": "Obligatorisk felt",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt",
+			"NAME_REQUIRED": "Obligatorisk felt",
+			"PHONE_REQUIRED": "Obligatorisk felt",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
+			"PRIORITY_REQUIRED": "Obligatorisk felt",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
+			"QUEUE_REQUIRED": "Obligatorisk felt",
+			"SECRETACCESSKEY_REQUIRED": "Obligatorisk felt",
+			"TAG_REQUIRED": "Obligatorisk felt",
+			"TEXT_REQUIRED": "Obligatorisk felt",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
+			"TIMEOUT_REQUIRED": "Obligatorisk felt",
+			"TIMES_REQUIRED": "Obligatorisk felt",
+			"TOKEN_REQUIRED": "Obligatorisk felt",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
+			"TRUEPRIORITY_REQUIRED": "Obligatorisk felt",
+			"TYPE_REQUIRED": "Obligatorisk felt",
+			"VALUE_REQUIRED": "Obligatorisk felt",
+			"VARIABLE_REQUIRED": "Obligatorisk felt",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatorisk felt",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Værdien skal have en maksimal længde lig med {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Obligatorisk felt"
+		},
+		"HELP": {
+			"LIST": "Kontakt Manager-liste, der bruges til at knytte kontakter",
+			"MANDATORYDISPOSITION": "Obligatorisk disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Brug pause, når obligatorisk disposition er aktiveret",
+			"MOTIONPROXY": "Feltet skal have følgende format: <protokol>: // <adresseadresse> [: <port>]. Eksempel: https: //X.Y.Z.W",
+			"NAME": "Kun tal, bogstaver og specifikke tegn (._) understøttes",
+			"RECEIVEURL": "Dette er den auto-genererede API-streng, du skal bruge til at modtage meddelelserne på din konto fra din WhatsApp Connector-udbyder (der skal bruges POST-metode): Klik på udklipsholder-knappen for at kopiere den",
+			"WELCOMEMESSAGE": "Dette er den første svarmeddelelse sendt til nye interaktioner"
+		},
+		"ACCESSKEYID": "Adgangskode-ID",
+		"ACCOUNTSID": "Konto SID",
+		"ACTIONS": "Handlinger",
+		"ADD_NOTE": "Tilføj note",
+		"ADD_WHATSAPPACCOUNT": "Tilføje",
+		"ADD_WHATSAPPCANNEDANSWER": "Tilføj konserveret svar",
+		"ADD_WHATSAPPDISPOSITION": "Tilføj WhatsApp-disposition",
+		"ADD_WHATSAPPQUEUE": "Tilføj WhatsApp-kø",
+		"ADVANCED": "Fremskreden",
+		"AGENT": "Agent",
+		"AGENTADD_QUEUE": "Føj agent til WhatsApp-køen",
+		"AGENTADD_WHATSAPPACCOUNT": "Føj agent til WhatsApp-konto",
+		"AGENTADD_WHATSAPPQUEUE": "Føj agent til WhatsApp-køen",
+		"AGENTS": "Agenter",
+		"AGENTSADD_QUEUE": "Føj agenter til WhatsApp-køen",
+		"AGENTTRANSFER": "Agentoverførsel",
+		"AGENTTRANSFERTIMEOUT": "Agentoverførsels-timeout",
+		"AGENT_TIMEOUT": "Agent timeout",
+		"ALL": "Alle",
+		"ALL_AGENTS": "Alle agenter",
+		"ALL_TEAMS": "Alle hold",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Autentisk token",
+		"AUTOREPLY": "Auto svar",
+		"BACK": "Tilbage",
+		"BOTNAME": "Bot navn",
+		"BUSY": "Travl",
+		"CANNEDANSWERS": "Hermetiske svar",
+		"CANNED_ANSWER_NOT_FOUND": "Ingen konserverede svar blev fundet",
+		"CANNED_ANSWER_SEARCH": "Indtast en tekst for at søge i et hermetisk svar",
+		"CAPACITY": "Kapacitet",
+		"CLOSE": "Tæt",
+		"CLOSED": "Lukket",
+		"CLOSEMETHOD": "Luk metode",
+		"CLOSEURL": "Luk URL",
+		"COMMAND": "Kommando",
+		"CONDITION": "Tilstand",
+		"CONTACT": "Kontakt",
+		"CREATED_AT": "Oprettet kl",
+		"DEFAULT_PAUSE": "DEFAULT PAUSE",
+		"DELETE": "Slet",
+		"DELETE_INTERACTION": "Slet interaktion",
+		"DELETE_SELECTED": "Slet valgt",
+		"DELETE_WHATSAPPACCOUNT": "Slet WhatsApp-konto",
+		"DELETE_WHATSAPPCANNEDANSWER": "Slettet",
+		"DELETE_WHATSAPPDISPOSITION": "Slet WhatsApp-disposition",
+		"DELETE_WHATSAPPQUEUE": "Slet WhatsApp-kø",
+		"DESCRIPTION": "Beskrivelse",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "disposition",
+		"DISPOSITIONS": "dispositioner",
+		"DOWNLOAD_INTERACTION": "Hent",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Download uden vedhæftede filer",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Download med vedhæftede filer",
+		"EDIT_AGENT": "Rediger agent",
+		"EDIT_AMAZONLEX": "Rediger Lex-konfiguration",
+		"EDIT_AUTOREPLY": "Rediger autosvar",
+		"EDIT_CLOSE": "Rediger Luk",
+		"EDIT_DIALOGFLOW": "Rediger DialogFlow-konfiguration",
+		"EDIT_GOTOIF": "Rediger Gotoif",
+		"EDIT_GOTOP": "Rediger Gotop",
+		"EDIT_NOOP": "Rediger Noop",
+		"EDIT_QUEUE": "Rediger kø",
+		"EDIT_SYSTEM": "Rediger system",
+		"EDIT_TAG": "Rediger tag",
+		"EDIT_WHATSAPPACCOUNT": "Rediger WhatsApp-konto",
+		"EDIT_WHATSAPPCANNEDANSWER": "Redigere",
+		"EDIT_WHATSAPPDISPOSITION": "Rediger WhatsApp-disposition",
+		"EDIT_WHATSAPPQUEUE": "Rediger WhatsApp-kø",
+		"FALSEPRIORITY": "Falsk prioritet",
+		"GENERAL": "Generel",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Gå til WhatsApp-kø i realtid",
+		"GO_TO_WHATSAPPACCOUNTS": "Gå til konto",
+		"ID": "Id",
+		"IDLE": "Ledig",
+		"INSERT_MESSAGE_HERE": "Indsæt meddelelse her",
+		"INTERACTIONS": "Interaktioner",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Gå til interaktioner",
+		"KEY": "Nøgle",
+		"LANGUAGE": "Sprog",
+		"LASTMESSAGE": "Sidste meddelelse",
+		"LEXREGION": "Område",
+		"LIST": "Liste",
+		"LOGGED_IN": "Logget ind (SIP tilsluttet)",
+		"LOGIN_TIME": "Login tid",
+		"LOGOUT": "Log ud",
+		"MANDATORYDISPOSITION": "Obligatorisk disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Brug pause, når obligatorisk disposition er aktiveret",
+		"MORE": "Mere",
+		"MOTIONPROXY": "Proxy- eller bevægelsesdomæne",
+		"MULTI_SELECT_TOGGLE": "Multivælge skifte",
+		"NAME": "Navn",
+		"NEW_WHATSAPPACCOUNT": "Ny WhatsApp-konto",
+		"NEW_WHATSAPPCANNEDANSWER": "Nyt WhatsApp-konserveret svar",
+		"NEW_WHATSAPPDISPOSITION": "Ny WhatsApp-disposition",
+		"NEW_WHATSAPPQUEUE": "Ny WhatsApp-kø",
+		"NOOP": "Noop",
+		"NOTE": "Bemærk",
+		"NOTIFICATION": "Notifikation",
+		"NOTIFICATIONSHAKE": "Ryste",
+		"NOTIFICATIONSOUND": "Lyd",
+		"NOTIFICATIONTEMPLATE": "Skabelon",
+		"NO_AGENT_ONLINE": "Ingen agent online",
+		"NO_AVAILABLE_INFO": "Ingen tilgængelige oplysninger",
+		"NO_INTERACTION_AVAILABLE": "Ingen interaktioner tilgængelige",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Ingen WhatsApp-konserverede svar tilgængelige",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Der er ingen tilgængelige WhatsApp-dispositioner",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Ingen WhatsApp-konti til rådighed",
+		"OF": "af",
+		"OPENED": "åbnede",
+		"PAGE": "Side",
+		"PARTIALPAUSE": "Delvis pause",
+		"PAUSE": "Pause",
+		"PAUSED": "Pause",
+		"PAUSE_TIME": "Pausetid",
+		"PHONE": "telefon",
+		"PRIORITY": "Prioritet",
+		"PROXY": "Proxy",
+		"QUEUE": "Kø",
+		"QUEUES": "Køer",
+		"QUEUETRANSFER": "Køoverførsel",
+		"QUEUETRANSFERTIMEOUT": "Timeover for køoverførsel",
+		"READY": "Parat",
+		"REALTIME": "Realtid",
+		"RECEIVEURL": "Modtag URL",
+		"REFRESH_INTERACTIONS": "Opdater interaktioner",
+		"REMOTE": "Fjern",
+		"ROWSPERPAGE": "Rækker pr. Side",
+		"SAVE": "Gemme",
+		"SCREENRECORDING": "Administrer skærmoptagelse",
+		"SEARCH_FOR_ANYONE": "Søg",
+		"SECRETACCESSKEY": "Adgangsnøglehemmelighed",
+		"SELECTED": "Valgte",
+		"SELECTED_AGENTS": "Udvalgte agenter",
+		"SELECTED_TEAMS": "Udvalgte hold",
+		"SELECT_ALL": "Vælg alle",
+		"SELECT_NONE": "Vælg ingen",
+		"SEND": "Sende",
+		"SETTINGS": "Indstillinger",
+		"SPYINTERACTION": "Spy-interaktion",
+		"STARTEDAT": "Begyndte kl",
+		"START_SCREENRECORDING": "Start skærmoptagelse",
+		"STATUS": "status",
+		"STOP_SCREENRECORDING": "Optagelse af stopskærm",
+		"STRATEGY": "Strategi",
+		"SYSTEM": "System",
+		"TAG": "tag",
+		"TAGS": "Tags",
+		"TEAMADD_WHATSAPPQUEUE": "Føj team til WhatsApp-køen",
+		"TEAMS_ASSOCIATION": "Holdforening",
+		"TEXT": "Tekst",
+		"TIMEOUT": "Tiden er gået",
+		"TIMER": "Timer",
+		"TIMES": "Times",
+		"TO": "Til",
+		"TOKEN": "Polet",
+		"TOOLTIP_SCREENRECORDING_OFF": "Screen optagelse tilgængelig",
+		"TOOLTIP_SCREENRECORDING_ON": "Skærmoptagelse pågår",
+		"TRANSFER": "Overførsel",
+		"TRUEPRIORITY": "Ægte prioritet",
+		"TYPE": "Type",
+		"UNPAUSE": "Slutpause",
+		"VALUE": "Værdi",
+		"VARIABLE": "Variabel",
+		"WAITFORTHEASSIGNEDAGENT": "Vent på den tildelte agent",
+		"WAITING": "Venter",
+		"WELCOMEMESSAGE": "Velkomstbesked",
+		"WHATSAPP": "WhatsApp-stik",
+		"WHATSAPPACCOUNTS": "WhatsApp-konti",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp-konserverede svar",
+		"WHATSAPPDISPOSITIONS": "WhatsApp-dispositioner",
+		"WHATSAPPQUEUES": "WhatsApp køer"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/de.json b/public/app/main/apps/whatsapp/i18n/de.json
new file mode 100644
index 0000000..67e7a63
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/de.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Pflichtfeld",
+			"ACCOUNTSID_REQUIRED": "Pflichtfeld",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
+			"AGENT_REQUIRED": "Pflichtfeld",
+			"AGENT_TIMEOUT_REQUIRED": "Pflichtfeld",
+			"AUTHTOKEN_REQUIRED": "Pflichtfeld",
+			"BOTNAME_REQUIRED": "Pflichtfeld",
+			"COMMAND_REQUIRED": "Pflichtfeld",
+			"CONDITION_REQUIRED": "Pflichtfeld",
+			"DESCRIPTION_REQUIRED": "Pflichtfeld",
+			"DISPOSITION_REQUIRED": "Pflichtfeld",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
+			"FALSEPRIORITY_REQUIRED": "Pflichtfeld",
+			"KEY_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
+			"KEY_REQUIRED": "Pflichtfeld",
+			"LANGUAGE_REQUIRED": "Pflichtfeld",
+			"LEXREGION_REQUIRED": "Pflichtfeld",
+			"LIST_REQUIRED": "Pflichtfeld",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld",
+			"NAME_REQUIRED": "Pflichtfeld",
+			"PHONE_REQUIRED": "Pflichtfeld",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
+			"PRIORITY_REQUIRED": "Pflichtfeld",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
+			"QUEUE_REQUIRED": "Pflichtfeld",
+			"SECRETACCESSKEY_REQUIRED": "Pflichtfeld",
+			"TAG_REQUIRED": "Pflichtfeld",
+			"TEXT_REQUIRED": "Pflichtfeld",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+			"TIMEOUT_REQUIRED": "Pflichtfeld",
+			"TIMES_REQUIRED": "Pflichtfeld",
+			"TOKEN_REQUIRED": "Pflichtfeld",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
+			"TRUEPRIORITY_REQUIRED": "Pflichtfeld",
+			"TYPE_REQUIRED": "Pflichtfeld",
+			"VALUE_REQUIRED": "Pflichtfeld",
+			"VARIABLE_REQUIRED": "Pflichtfeld",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pflichtfeld",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
+			"WELCOMEMESSAGE_REQUIRED": "Pflichtfeld"
+		},
+		"HELP": {
+			"LIST": "Kontaktmanagerliste zum Zuordnen von Kontakten",
+			"MANDATORYDISPOSITION": "Obligatorische Disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause, um zu verwenden, wenn die obligatorische Disposition aktiviert ist",
+			"MOTIONPROXY": "Das Feld muss das folgende Format haben: <Protokoll>: // <IP-Adresse> [: <Port>]. Beispiel: https: //X.Y.Z.W",
+			"NAME": "Es werden nur Zahlen, Buchstaben und bestimmte Zeichen (._) unterstützt",
+			"RECEIVEURL": "Dies ist die automatisch generierte API-Zeichenfolge, die Sie zum Empfangen der Nachrichten in Ihrem Konto von Ihrem WhatsApp Connector-Anbieter verwenden müssen (POST-Methode muss verwendet werden): Klicken Sie auf die Schaltfläche in der Zwischenablage, um sie zu kopieren",
+			"WELCOMEMESSAGE": "Dies ist die erste Antwortnachricht, die an neue Interaktionen gesendet wird"
+		},
+		"ACCESSKEYID": "Zugriffsschlüssel-ID",
+		"ACCOUNTSID": "Konto-SID",
+		"ACTIONS": "Aktionen",
+		"ADD_NOTE": "Notiz hinzufügen",
+		"ADD_WHATSAPPACCOUNT": "Hinzufügen",
+		"ADD_WHATSAPPCANNEDANSWER": "Eingemachte Antwort hinzufügen",
+		"ADD_WHATSAPPDISPOSITION": "WhatsApp Disposition hinzufügen",
+		"ADD_WHATSAPPQUEUE": "WhatsApp-Warteschlange hinzufügen",
+		"ADVANCED": "Fortgeschrittene",
+		"AGENT": "Agent",
+		"AGENTADD_QUEUE": "Agent zur WhatsApp-Warteschlange hinzufügen",
+		"AGENTADD_WHATSAPPACCOUNT": "Agent zum WhatsApp-Konto hinzufügen",
+		"AGENTADD_WHATSAPPQUEUE": "Agent zur WhatsApp-Warteschlange hinzufügen",
+		"AGENTS": "Agenten",
+		"AGENTSADD_QUEUE": "Hinzufügen von Agenten zur WhatsApp-Warteschlange",
+		"AGENTTRANSFER": "Agententransfer",
+		"AGENTTRANSFERTIMEOUT": "Zeitüberschreitung bei der Agentenübertragung",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"ALL": "Alles",
+		"ALL_AGENTS": "Alle Agenten",
+		"ALL_TEAMS": "Alle Teams",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Auth Token",
+		"AUTOREPLY": "Automatische Antwort",
+		"BACK": "Zurück",
+		"BOTNAME": "Bot Name",
+		"BUSY": "Beschäftigt",
+		"CANNEDANSWERS": "Eingemachte Antworten",
+		"CANNED_ANSWER_NOT_FOUND": "Es wurden keine Antworten in Dosen gefunden",
+		"CANNED_ANSWER_SEARCH": "Geben Sie einen Text ein, um eine vordefinierte Antwort zu suchen",
+		"CAPACITY": "Kapazität",
+		"CLOSE": "Schließen",
+		"CLOSED": "Geschlossen",
+		"CLOSEMETHOD": "Methode schließen",
+		"CLOSEURL": "URL schließen",
+		"COMMAND": "Befehl",
+		"CONDITION": "Bedingung",
+		"CONTACT": "Kontakt",
+		"CREATED_AT": "Hergestellt in",
+		"DEFAULT_PAUSE": "STANDARD PAUSE",
+		"DELETE": "Löschen",
+		"DELETE_INTERACTION": "Interaktion löschen",
+		"DELETE_SELECTED": "Ausgewählte löschen",
+		"DELETE_WHATSAPPACCOUNT": "WhatsApp-Konto löschen",
+		"DELETE_WHATSAPPCANNEDANSWER": "Gelöscht",
+		"DELETE_WHATSAPPDISPOSITION": "WhatsApp-Disposition löschen",
+		"DELETE_WHATSAPPQUEUE": "WhatsApp-Warteschlange löschen",
+		"DESCRIPTION": "Beschreibung",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Anordnung",
+		"DISPOSITIONS": "Dispositionen",
+		"DOWNLOAD_INTERACTION": "Herunterladen",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Ohne Anhänge herunterladen",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Mit Anhängen herunterladen",
+		"EDIT_AGENT": "Agent bearbeiten",
+		"EDIT_AMAZONLEX": "Bearbeiten Sie die Lex-Konfiguration",
+		"EDIT_AUTOREPLY": "Automatische Antwort bearbeiten",
+		"EDIT_CLOSE": "Bearbeiten Schließen",
+		"EDIT_DIALOGFLOW": "Bearbeiten Sie die DialogFlow-Konfiguration",
+		"EDIT_GOTOIF": "Bearbeiten Sie Gotoif",
+		"EDIT_GOTOP": "Gotop bearbeiten",
+		"EDIT_NOOP": "Noop bearbeiten",
+		"EDIT_QUEUE": "Warteschlange bearbeiten",
+		"EDIT_SYSTEM": "System bearbeiten",
+		"EDIT_TAG": "Tag bearbeiten",
+		"EDIT_WHATSAPPACCOUNT": "WhatsApp-Konto bearbeiten",
+		"EDIT_WHATSAPPCANNEDANSWER": "Bearbeiten",
+		"EDIT_WHATSAPPDISPOSITION": "WhatsApp-Disposition bearbeiten",
+		"EDIT_WHATSAPPQUEUE": "Bearbeiten Sie die WhatsApp-Warteschlange",
+		"FALSEPRIORITY": "Falsche Priorität",
+		"GENERAL": "Allgemeines",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Zum Seitenanfang",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Wechseln Sie zur WhatsApp-Warteschlange in Echtzeit",
+		"GO_TO_WHATSAPPACCOUNTS": "Gehe zu Konto",
+		"ID": "Ich würde",
+		"IDLE": "Leerlauf",
+		"INSERT_MESSAGE_HERE": "Nachricht hier einfügen",
+		"INTERACTIONS": "Interaktionen",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Gehen Sie zu Interaktionen",
+		"KEY": "Schlüssel",
+		"LANGUAGE": "Sprache",
+		"LASTMESSAGE": "Letzte Nachricht",
+		"LEXREGION": "Region",
+		"LIST": "Aufführen",
+		"LOGGED_IN": "Eingeloggt (SIP verbunden)",
+		"LOGIN_TIME": "Anmeldezeit",
+		"LOGOUT": "Ausloggen",
+		"MANDATORYDISPOSITION": "Obligatorische Disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause, um zu verwenden, wenn die obligatorische Disposition aktiviert ist",
+		"MORE": "Mehr",
+		"MOTIONPROXY": "Proxy- oder Bewegungsdomäne",
+		"MULTI_SELECT_TOGGLE": "Mehrfachauswahl umschalten",
+		"NAME": "Name",
+		"NEW_WHATSAPPACCOUNT": "Neues WhatsApp-Konto",
+		"NEW_WHATSAPPCANNEDANSWER": "Neue WhatsApp-Antwort in Dosen",
+		"NEW_WHATSAPPDISPOSITION": "Neue WhatsApp-Disposition",
+		"NEW_WHATSAPPQUEUE": "Neue WhatsApp-Warteschlange",
+		"NOOP": "Noop",
+		"NOTE": "Hinweis",
+		"NOTIFICATION": "Benachrichtigung",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONSOUND": "Klang",
+		"NOTIFICATIONTEMPLATE": "Vorlage",
+		"NO_AGENT_ONLINE": "Kein Agent online",
+		"NO_AVAILABLE_INFO": "Keine verfügbaren Informationen",
+		"NO_INTERACTION_AVAILABLE": "Keine Interaktionen verfügbar",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Keine WhatsApp-Antworten verfügbar",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Keine WhatsApp-Dispositionen verfügbar",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Keine WhatsApp-Konten verfügbar",
+		"OF": "von",
+		"OPENED": "Geöffnet",
+		"PAGE": "Seite",
+		"PARTIALPAUSE": "Teilpause",
+		"PAUSE": "Pause",
+		"PAUSED": "Pause",
+		"PAUSE_TIME": "Pausenzeit",
+		"PHONE": "Telefon",
+		"PRIORITY": "Priorität",
+		"PROXY": "Proxy",
+		"QUEUE": "Warteschlange",
+		"QUEUES": "Warteschlangen",
+		"QUEUETRANSFER": "Warteschlangenübertragung",
+		"QUEUETRANSFERTIMEOUT": "Zeitüberschreitung bei der Warteschlangenübertragung",
+		"READY": "Bereit",
+		"REALTIME": "Echtzeit",
+		"RECEIVEURL": "URL erhalten",
+		"REFRESH_INTERACTIONS": "Interaktionen aktualisieren",
+		"REMOTE": "Fernbedienung",
+		"ROWSPERPAGE": "Zeilen pro Seite",
+		"SAVE": "sparen",
+		"SCREENRECORDING": "Bildschirmaufzeichnung verwalten",
+		"SEARCH_FOR_ANYONE": "Suche",
+		"SECRETACCESSKEY": "Zugriffsschlüsselgeheimnis",
+		"SELECTED": "Ausgewählt",
+		"SELECTED_AGENTS": "Ausgewählte Agenten",
+		"SELECTED_TEAMS": "Ausgewählte Teams",
+		"SELECT_ALL": "Wählen Sie Alle",
+		"SELECT_NONE": "Nichts ausgewählt",
+		"SEND": "Senden",
+		"SETTINGS": "die Einstellungen",
+		"SPYINTERACTION": "Spionage-Interaktion",
+		"STARTEDAT": "Fing an bei",
+		"START_SCREENRECORDING": "Bildschirmaufnahme starten",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Bildschirmaufzeichnung stoppen",
+		"STRATEGY": "Strategie",
+		"SYSTEM": "System",
+		"TAG": "Etikett",
+		"TAGS": "Stichworte",
+		"TEAMADD_WHATSAPPQUEUE": "Team zur WhatsApp-Warteschlange hinzufügen",
+		"TEAMS_ASSOCIATION": "Mannschaftsverband",
+		"TEXT": "Text",
+		"TIMEOUT": "Auszeit",
+		"TIMER": "Timer",
+		"TIMES": "Mal",
+		"TO": "Zu",
+		"TOKEN": "Zeichen",
+		"TOOLTIP_SCREENRECORDING_OFF": "Bildschirmaufnahme verfügbar",
+		"TOOLTIP_SCREENRECORDING_ON": "Bildschirmaufnahme läuft",
+		"TRANSFER": "Transfer",
+		"TRUEPRIORITY": "Wahre Priorität",
+		"TYPE": "Art",
+		"UNPAUSE": "Pause beenden",
+		"VALUE": "Wert",
+		"VARIABLE": "Variable",
+		"WAITFORTHEASSIGNEDAGENT": "Warten Sie auf den zugewiesenen Agenten",
+		"WAITING": "Warten",
+		"WELCOMEMESSAGE": "Willkommensnachricht",
+		"WHATSAPP": "WhatsApp Connector",
+		"WHATSAPPACCOUNTS": "WhatsApp-Konten",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp Canned Answers",
+		"WHATSAPPDISPOSITIONS": "WhatsApp Dispositionen",
+		"WHATSAPPQUEUES": "WhatsApp-Warteschlangen"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/en.json b/public/app/main/apps/whatsapp/i18n/en.json
new file mode 100644
index 0000000..f320f93
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/en.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ACCESSKEYID": "Access Key ID",
+		"ACCOUNTSID": "Account SID",
+		"ACTIONS": "Actions",
+		"ADD_NOTE": "Add note",
+		"ADD_WHATSAPPACCOUNT": "Add",
+		"ADD_WHATSAPPCANNEDANSWER": "Add Canned Answer",
+		"ADD_WHATSAPPDISPOSITION": "Add WhatsApp Disposition",
+		"ADD_WHATSAPPQUEUE": "Add WhatsApp queue",
+		"ADVANCED": "Advanced",
+		"AGENT": "Agent",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"AGENTADD_QUEUE": "Add Agent To WhatsApp Queue",
+		"AGENTADD_WHATSAPPACCOUNT": "Add Agent To WhatsApp Account",
+		"AGENTADD_WHATSAPPQUEUE": "Add Agent To WhatsApp Queue",
+		"AGENTS": "Agents",
+		"AGENTSADD_QUEUE": "Add agents to WhatsApp queue",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"ALL": "All",
+		"ALL_AGENTS": "All Agents",
+		"ALL_TEAMS": "All Teams",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Auth Token",
+		"AUTOREPLY": "Auto Reply",
+		"BACK": "Back",
+		"BOTNAME": "Bot Name",
+		"BUSY": "Busy",
+		"CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+		"CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+		"CANNEDANSWERS": "Canned Answers",
+		"CAPACITY": "Capacity",
+		"CLOSE": "Close",
+		"CLOSED": "Closed",
+		"CLOSEMETHOD": "Close Method",
+		"CLOSEURL": "Close URL",
+		"COMMAND": "Command",
+		"CONDITION": "Condition",
+		"CONTACT": "Contact",
+		"CREATED_AT": "Created at",
+		"DEFAULT_PAUSE": "DEFAULT PAUSE",
+		"DELETE": "Delete",
+		"DELETE_INTERACTION": "Delete Interaction",
+		"DELETE_SELECTED": "Delete selected",
+		"DELETE_WHATSAPPACCOUNT": "Delete WhatsApp Account",
+		"DELETE_WHATSAPPCANNEDANSWER": "Deleted",
+		"DELETE_WHATSAPPDISPOSITION": "Delete WhatsApp Disposition",
+		"DELETE_WHATSAPPQUEUE": "Delete WhatsApp Queue",
+		"DESCRIPTION": "Description",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposition",
+		"DISPOSITIONS": "Dispositions",
+		"DOWNLOAD_INTERACTION": "Download",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Download With Attachments",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Download Without Attachments",
+		"EDIT_AGENT": "Edit Agent",
+		"EDIT_AMAZONLEX": "Edit Lex configuration",
+		"EDIT_AUTOREPLY": "Edit Auto Reply",
+		"EDIT_CLOSE": "Edit Close",
+		"EDIT_DIALOGFLOW": "Edit DialogFlow configuration",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_QUEUE": "Edit Queue",
+		"EDIT_SYSTEM": "Edit System",
+		"EDIT_TAG": "Edit Tag",
+		"EDIT_WHATSAPPACCOUNT": "Edit WhatsApp Account",
+		"EDIT_WHATSAPPCANNEDANSWER": "Edit",
+		"EDIT_WHATSAPPDISPOSITION": "Edit WhatsApp Disposition",
+		"EDIT_WHATSAPPQUEUE": "Edit WhatsApp Queue",
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Mandatory Field",
+			"ACCOUNTSID_REQUIRED": "Mandatory Field",
+			"AGENT_REQUIRED": "Mandatory Field",
+			"AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"AUTHTOKEN_REQUIRED": "Mandatory Field",
+			"BOTNAME_REQUIRED": "Mandatory Field",
+			"COMMAND_REQUIRED": "Mandatory Field",
+			"CONDITION_REQUIRED": "Mandatory Field",
+			"DESCRIPTION_REQUIRED": "Mandatory Field",
+			"DISPOSITION_REQUIRED": "Mandatory Field",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
+			"FALSEPRIORITY_REQUIRED": "Mandatory Field",
+			"KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"KEY_REQUIRED": "Mandatory Field",
+			"LANGUAGE_REQUIRED": "Mandtory Field",
+			"LEXREGION_REQUIRED": "Mandatory Field",
+			"LIST_REQUIRED": "Mandatory Field",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory Field",
+			"NAME_REQUIRED": "Mandatory Field",
+			"PHONE_REQUIRED": "Mandatory Field",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
+			"PRIORITY_REQUIRED": "Mandatory Field",
+			"QUEUE_REQUIRED": "Mandatory Field",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+			"SECRETACCESSKEY_REQUIRED": "Mandatory Field",
+			"TAG_REQUIRED": "Mandatory Field",
+			"TEXT_REQUIRED": "Mandatory Field",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
+			"TIMEOUT_REQUIRED": "Mandatory Field",
+			"TIMES_REQUIRED": "Mandatory Field",
+			"TOKEN_REQUIRED": "Mandatory Field",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
+			"TRUEPRIORITY_REQUIRED": "Mandatory Field",
+			"TYPE_REQUIRED": "Mandatory Field",
+			"VALUE_REQUIRED": "Mandatory Field",
+			"VARIABLE_REQUIRED": "Mandatory Field",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+			"WELCOMEMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Mandatory Field"
+		},
+		"FALSEPRIORITY": "False Priority",
+		"GENERAL": "General",
+		"GO_TO_WHATSAPPACCOUNTS": "Go To Account",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Go To Realtime WhatsApp Queue",
+		"HELP": {
+			"LIST": "Contact Manager list used to associate contacts",
+			"MANDATORYDISPOSITION": "Mandatory disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
+			"MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+			"NAME": "Only numbers, letters and specific characters (._) are supported",
+			"RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your WhatsApp Connector provider (POST method must be used): click the clipboard button to copy it",
+			"WELCOMEMESSAGE": "This is the first response message sent to new interactions"
+		},
+		"ID": "Id",
+		"IDLE": "Idle",
+		"INSERT_MESSAGE_HERE": "Insert message here",
+		"INTERACTIONS": "Interactions",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Go to Interactions",
+		"KEY": "Key",
+		"LANGUAGE": "Language",
+		"LASTMESSAGE": "Last Message",
+		"LEXREGION": "Region",
+		"LIST": "List",
+		"LOGGED_IN": "Logged In (SIP Connected)",
+		"LOGIN_TIME": "Login Time",
+		"LOGOUT": "Logout",
+		"MANDATORYDISPOSITION": "Mandatory Disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
+		"MORE": "More",
+		"MOTIONPROXY": "Proxy Or Motion Domain",
+		"MULTI_SELECT_TOGGLE": "Multi select toggle",
+		"NAME": "Name",
+		"NEW_WHATSAPPACCOUNT": "New WhatsApp Account",
+		"NEW_WHATSAPPCANNEDANSWER": "New WhatsApp Canned Answer",
+		"NEW_WHATSAPPDISPOSITION": "New WhatsApp Disposition",
+		"NEW_WHATSAPPQUEUE": "New WhatsApp Queue",
+		"NO_AGENT_ONLINE": "No Agent Online",
+		"NO_AVAILABLE_INFO": "No Available Info",
+		"NO_INTERACTION_AVAILABLE": "No Interactions Available",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "No WhatsApp Accounts available",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "No WhatsApp Canned Answers Available",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "No WhatsApp Dispositions Available",
+		"NOOP": "Noop",
+		"NOTE": "Note",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONSOUND": "Sound",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"OF": "of",
+		"OPENED": "Opened",
+		"PAGE": "Page",
+		"PARTIALPAUSE": "Partial Pause",
+		"PAUSE": "Pause",
+		"PAUSE_TIME": "Pause Time",
+		"PAUSED": "Paused",
+		"PHONE": "Phone",
+		"PRIORITY": "Priority",
+		"PROXY": "Proxy",
+		"QUEUE": "Queue",
+		"QUEUES": "Queues",
+		"QUEUETRANSFER": "Queue Transfer",
+		"QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+		"READY": "Ready",
+		"REALTIME": "Realtime",
+		"RECEIVEURL": "Receive URL",
+		"REFRESH_INTERACTIONS": "Refresh Interactions",
+		"REMOTE": "Remote",
+		"ROWSPERPAGE": "Rows per page",
+		"SAVE": "Save",
+		"SCREENRECORDING": "Manage Screen Recording",
+		"SEARCH_FOR_ANYONE": "Search",
+		"SECRETACCESSKEY": "Access key secret",
+		"SELECT_ALL": "Select all",
+		"SELECT_NONE": "Select none",
+		"SELECTED": "Selected",
+		"SELECTED_AGENTS": "Selected Agents",
+		"SELECTED_TEAMS": "Selected Teams",
+		"SEND": "Send",
+		"SETTINGS": "Settings",
+		"SPYINTERACTION": "Spy Interaction",
+		"START_SCREENRECORDING": "Start Screen Recording",
+		"STARTEDAT": "Started at",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Stop Screen Recording",
+		"STRATEGY": "Strategy",
+		"SYSTEM": "System",
+		"TAG": "Tag",
+		"TAGS": "Tags",
+		"TEAMADD_WHATSAPPQUEUE": "Add Team To WhatsApp Queue",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"TEXT": "Text",
+		"TIMEOUT": "Timeout",
+		"TIMER": "Timer",
+		"TIMES": "Times",
+		"TO": "To",
+		"TOKEN": "Token",
+		"TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available",
+		"TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
+		"TRANSFER": "Transfer",
+		"TRUEPRIORITY": "True Priority",
+		"TYPE": "Type",
+		"UNPAUSE": "End Pause",
+		"VALUE": "Value",
+		"VARIABLE": "Variable",
+		"WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+		"WAITING": "Waiting",
+		"WELCOMEMESSAGE": "Welcome Message",
+		"WHATSAPP": "WhatsApp Connector",
+		"WHATSAPPACCOUNTS": "WhatsApp Accounts",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp Canned Answers",
+		"WHATSAPPDISPOSITIONS": "WhatsApp Dispositions",
+		"WHATSAPPQUEUES": "WhatsApp Queues"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/es.json b/public/app/main/apps/whatsapp/i18n/es.json
new file mode 100644
index 0000000..49ebef0
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/es.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Campo obligatorio",
+			"ACCOUNTSID_REQUIRED": "Campo obligatorio",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
+			"AGENT_REQUIRED": "Campo obligatorio",
+			"AGENT_TIMEOUT_REQUIRED": "Campo obligatorio",
+			"AUTHTOKEN_REQUIRED": "Campo obligatorio",
+			"BOTNAME_REQUIRED": "Campo obligatorio",
+			"COMMAND_REQUIRED": "Campo obligatorio",
+			"CONDITION_REQUIRED": "Campo obligatorio",
+			"DESCRIPTION_REQUIRED": "Campo obligatorio",
+			"DISPOSITION_REQUIRED": "Campo obligatorio",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+			"FALSEPRIORITY_REQUIRED": "Campo obligatorio",
+			"KEY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
+			"KEY_REQUIRED": "Campo obligatorio",
+			"LANGUAGE_REQUIRED": "Campo mandtory",
+			"LEXREGION_REQUIRED": "Campo obligatorio",
+			"LIST_REQUIRED": "Campo obligatorio",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio",
+			"NAME_REQUIRED": "Campo obligatorio",
+			"PHONE_REQUIRED": "Campo obligatorio",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+			"PRIORITY_REQUIRED": "Campo obligatorio",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
+			"QUEUE_REQUIRED": "Campo obligatorio",
+			"SECRETACCESSKEY_REQUIRED": "Campo obligatorio",
+			"TAG_REQUIRED": "Campo obligatorio",
+			"TEXT_REQUIRED": "Campo obligatorio",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+			"TIMEOUT_REQUIRED": "Campo obligatorio",
+			"TIMES_REQUIRED": "Campo obligatorio",
+			"TOKEN_REQUIRED": "Campo obligatorio",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+			"TRUEPRIORITY_REQUIRED": "Campo obligatorio",
+			"TYPE_REQUIRED": "Campo obligatorio",
+			"VALUE_REQUIRED": "Campo obligatorio",
+			"VARIABLE_REQUIRED": "Campo obligatorio",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obligatorio",
+			"WELCOMEMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Campo obligatorio"
+		},
+		"HELP": {
+			"LIST": "Lista de administrador de contactos utilizada para asociar contactos",
+			"MANDATORYDISPOSITION": "Disposición obligatoria",
+			"MANDATORYDISPOSITIONPAUSEID": "Pausar para usar cuando la disposición obligatoria está habilitada",
+			"MOTIONPROXY": "El campo debe tener el siguiente formato: <protocolo>: // <direccionip> [: <puerto>]. Ejemplo: https: //X.Y.Z.W",
+			"NAME": "Solo se admiten números, letras y caracteres específicos (._)",
+			"RECEIVEURL": "Esta es la cadena de API generada automáticamente que debe usar para recibir los mensajes dentro de su cuenta de su proveedor de conector de WhatsApp (se debe usar el método POST): haga clic en el botón del portapapeles para copiarlo",
+			"WELCOMEMESSAGE": "Este es el primer mensaje de respuesta enviado a nuevas interacciones."
+		},
+		"ACCESSKEYID": "ID de clave de acceso",
+		"ACCOUNTSID": "SID de cuenta",
+		"ACTIONS": "Comportamiento",
+		"ADD_NOTE": "Añadir la nota",
+		"ADD_WHATSAPPACCOUNT": "Añadir",
+		"ADD_WHATSAPPCANNEDANSWER": "Agregar respuesta predefinida",
+		"ADD_WHATSAPPDISPOSITION": "Agregar disposición de WhatsApp",
+		"ADD_WHATSAPPQUEUE": "Agregar cola de WhatsApp",
+		"ADVANCED": "Avanzado",
+		"AGENT": "Agente",
+		"AGENTADD_QUEUE": "Agregar agente a la cola de WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Agregar agente a la cuenta de WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Agregar agente a la cola de WhatsApp",
+		"AGENTS": "Agentes",
+		"AGENTSADD_QUEUE": "Agregar agentes a la cola de WhatsApp",
+		"AGENTTRANSFER": "Transferencia de agente",
+		"AGENTTRANSFERTIMEOUT": "Tiempo de espera de transferencia del agente",
+		"AGENT_TIMEOUT": "Tiempo de espera del agente",
+		"ALL": "Todas",
+		"ALL_AGENTS": "Todos los agentes",
+		"ALL_TEAMS": "Todos los equipos",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Token de autenticación",
+		"AUTOREPLY": "Respuesta automática",
+		"BACK": "Espalda",
+		"BOTNAME": "Nombre del bot",
+		"BUSY": "Ocupado",
+		"CANNEDANSWERS": "Respuestas enlatadas",
+		"CANNED_ANSWER_NOT_FOUND": "No se encontraron respuestas enlatadas",
+		"CANNED_ANSWER_SEARCH": "Ingrese un texto para buscar una respuesta predefinida",
+		"CAPACITY": "Capacidad",
+		"CLOSE": "Cerca",
+		"CLOSED": "Cerrado",
+		"CLOSEMETHOD": "Método de cierre",
+		"CLOSEURL": "Cerrar URL",
+		"COMMAND": "Mando",
+		"CONDITION": "Condición",
+		"CONTACT": "Contacto",
+		"CREATED_AT": "Creado en",
+		"DEFAULT_PAUSE": "PAUSA POR DEFECTO",
+		"DELETE": "Eliminar",
+		"DELETE_INTERACTION": "Eliminar interacción",
+		"DELETE_SELECTED": "Eliminar seleccionado",
+		"DELETE_WHATSAPPACCOUNT": "Eliminar cuenta de WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Eliminado",
+		"DELETE_WHATSAPPDISPOSITION": "Eliminar la disposición de WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Eliminar la cola de WhatsApp",
+		"DESCRIPTION": "Descripción",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposición",
+		"DISPOSITIONS": "Plan",
+		"DOWNLOAD_INTERACTION": "Descargar",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Descargar sin archivos adjuntos",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Descargar con archivos adjuntos",
+		"EDIT_AGENT": "Editar agente",
+		"EDIT_AMAZONLEX": "Editar la configuración de Lex",
+		"EDIT_AUTOREPLY": "Editar respuesta automática",
+		"EDIT_CLOSE": "Editar Cerrar",
+		"EDIT_DIALOGFLOW": "Editar la configuración de DialogFlow",
+		"EDIT_GOTOIF": "Editar Gotoif",
+		"EDIT_GOTOP": "Editar Gotop",
+		"EDIT_NOOP": "Editar Noop",
+		"EDIT_QUEUE": "Editar cola",
+		"EDIT_SYSTEM": "Editar sistema",
+		"EDIT_TAG": "Editar etiqueta",
+		"EDIT_WHATSAPPACCOUNT": "Editar cuenta de WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "Editar",
+		"EDIT_WHATSAPPDISPOSITION": "Editar la disposición de WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "Editar la cola de WhatsApp",
+		"FALSEPRIORITY": "Prioridad falsa",
+		"GENERAL": "General",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Ve arriba",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Ir a la cola de WhatsApp en tiempo real",
+		"GO_TO_WHATSAPPACCOUNTS": "Ir a cuenta",
+		"ID": "Carné de identidad",
+		"IDLE": "Ocioso",
+		"INSERT_MESSAGE_HERE": "Insertar mensaje aquí",
+		"INTERACTIONS": "Interacciones",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Ir a Interacciones",
+		"KEY": "Llave",
+		"LANGUAGE": "Idioma",
+		"LASTMESSAGE": "Ultimo mensaje",
+		"LEXREGION": "Región",
+		"LIST": "Lista",
+		"LOGGED_IN": "Conectado (SIP conectado)",
+		"LOGIN_TIME": "Hora de inicio de sesión",
+		"LOGOUT": "Cerrar sesión",
+		"MANDATORYDISPOSITION": "Disposición obligatoria",
+		"MANDATORYDISPOSITIONPAUSEID": "Pausar para usar cuando la disposición obligatoria está habilitada",
+		"MORE": "Más",
+		"MOTIONPROXY": "Proxy o dominio de movimiento",
+		"MULTI_SELECT_TOGGLE": "Alternar selección múltiple",
+		"NAME": "Nombre",
+		"NEW_WHATSAPPACCOUNT": "Nueva cuenta de WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Nueva respuesta enlatada de WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Nueva disposición de WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Nueva cola de WhatsApp",
+		"NOOP": "Noop",
+		"NOTE": "Nota",
+		"NOTIFICATION": "Notificación",
+		"NOTIFICATIONSHAKE": "Sacudir",
+		"NOTIFICATIONSOUND": "Sonido",
+		"NOTIFICATIONTEMPLATE": "Modelo",
+		"NO_AGENT_ONLINE": "Ningún agente en línea",
+		"NO_AVAILABLE_INFO": "No hay información disponible",
+		"NO_INTERACTION_AVAILABLE": "No hay interacciones disponibles",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas de WhatsApp disponibles",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "No hay disposiciones de WhatsApp disponibles",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "No hay cuentas de WhatsApp disponibles",
+		"OF": "de",
+		"OPENED": "Abrió",
+		"PAGE": "Página",
+		"PARTIALPAUSE": "Pausa parcial",
+		"PAUSE": "Pausa",
+		"PAUSED": "Pausado",
+		"PAUSE_TIME": "Tiempo de pausa",
+		"PHONE": "Teléfono",
+		"PRIORITY": "Prioridad",
+		"PROXY": "Apoderado",
+		"QUEUE": "Cola",
+		"QUEUES": "Colas",
+		"QUEUETRANSFER": "Transferencia de cola",
+		"QUEUETRANSFERTIMEOUT": "Tiempo de espera de transferencia de cola",
+		"READY": "Listo",
+		"REALTIME": "Tiempo real",
+		"RECEIVEURL": "Recibir URL",
+		"REFRESH_INTERACTIONS": "Actualizar interacciones",
+		"REMOTE": "Remoto",
+		"ROWSPERPAGE": "Filas por página",
+		"SAVE": "Salvar",
+		"SCREENRECORDING": "Administrar grabación de pantalla",
+		"SEARCH_FOR_ANYONE": "Buscar",
+		"SECRETACCESSKEY": "Secreto de clave de acceso",
+		"SELECTED": "Seleccionado",
+		"SELECTED_AGENTS": "Agentes seleccionados",
+		"SELECTED_TEAMS": "Equipos seleccionados",
+		"SELECT_ALL": "Seleccionar todo",
+		"SELECT_NONE": "No seleccionar ninguno",
+		"SEND": "Enviar",
+		"SETTINGS": "Configuraciones",
+		"SPYINTERACTION": "Interacción con el espía",
+		"STARTEDAT": "Empezó a las",
+		"START_SCREENRECORDING": "Iniciar grabación de pantalla",
+		"STATUS": "Estado",
+		"STOP_SCREENRECORDING": "Detener grabación de pantalla",
+		"STRATEGY": "Estrategia",
+		"SYSTEM": "Sistema",
+		"TAG": "Etiqueta",
+		"TAGS": "Etiquetas",
+		"TEAMADD_WHATSAPPQUEUE": "Agregar equipo a la cola de WhatsApp",
+		"TEAMS_ASSOCIATION": "Asociación de equipos",
+		"TEXT": "Texto",
+		"TIMEOUT": "Se acabó el tiempo",
+		"TIMER": "Temporizador",
+		"TIMES": "Veces",
+		"TO": "A",
+		"TOKEN": "Simbólico",
+		"TOOLTIP_SCREENRECORDING_OFF": "Grabación de pantalla disponible",
+		"TOOLTIP_SCREENRECORDING_ON": "Grabación de pantalla en curso",
+		"TRANSFER": "Transferir",
+		"TRUEPRIORITY": "Verdadera prioridad",
+		"TYPE": "Tipo",
+		"UNPAUSE": "Fin de pausa",
+		"VALUE": "Valor",
+		"VARIABLE": "Variable",
+		"WAITFORTHEASSIGNEDAGENT": "Espere al agente asignado",
+		"WAITING": "Esperando",
+		"WELCOMEMESSAGE": "Mensaje de bienvenida",
+		"WHATSAPP": "Conector de WhatsApp",
+		"WHATSAPPACCOUNTS": "Cuentas de WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "Respuestas enlatadas de WhatsApp",
+		"WHATSAPPDISPOSITIONS": "Disposiciones de WhatsApp",
+		"WHATSAPPQUEUES": "Colas de WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/et.json b/public/app/main/apps/whatsapp/i18n/et.json
new file mode 100644
index 0000000..b2ad9cc
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/et.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Kohustuslik väli",
+			"ACCOUNTSID_REQUIRED": "Kohustuslik väli",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Kohustuslik väli",
+			"AGENT_REQUIRED": "Kohustuslik väli",
+			"AGENT_TIMEOUT_REQUIRED": "Kohustuslik väli",
+			"AUTHTOKEN_REQUIRED": "Kohustuslik väli",
+			"BOTNAME_REQUIRED": "Kohustuslik väli",
+			"COMMAND_REQUIRED": "Kohustuslik väli",
+			"CONDITION_REQUIRED": "Kohustuslik väli",
+			"DESCRIPTION_REQUIRED": "Kohustuslik väli",
+			"DISPOSITION_REQUIRED": "Kohustuslik väli",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
+			"FALSEPRIORITY_REQUIRED": "Kohustuslik väli",
+			"KEY_MAX_LENGTH": "Väärtuse maksimaalne pikkus peab olema võrdne {{max}}",
+			"KEY_REQUIRED": "Kohustuslik väli",
+			"LANGUAGE_REQUIRED": "Kohustuslik väli",
+			"LEXREGION_REQUIRED": "Kohustuslik väli",
+			"LIST_REQUIRED": "Kohustuslik väli",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
+			"NAME_REQUIRED": "Kohustuslik väli",
+			"PHONE_REQUIRED": "Kohustuslik väli",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
+			"PRIORITY_REQUIRED": "Kohustuslik väli",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Kohustuslik väli",
+			"QUEUE_REQUIRED": "Kohustuslik väli",
+			"SECRETACCESSKEY_REQUIRED": "Kohustuslik väli",
+			"TAG_REQUIRED": "Kohustuslik väli",
+			"TEXT_REQUIRED": "Kohustuslik väli",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
+			"TIMEOUT_REQUIRED": "Kohustuslik väli",
+			"TIMES_REQUIRED": "Kohustuslik väli",
+			"TOKEN_REQUIRED": "Kohustuslik väli",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
+			"TRUEPRIORITY_REQUIRED": "Kohustuslik väli",
+			"TYPE_REQUIRED": "Kohustuslik väli",
+			"VALUE_REQUIRED": "Kohustuslik väli",
+			"VARIABLE_REQUIRED": "Kohustuslik väli",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Kohustuslik väli",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Väärtuse maksimaalne pikkus peab olema võrdne {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Kohustuslik väli"
+		},
+		"HELP": {
+			"LIST": "Kontaktide halduri loend, mida kasutatakse kontaktide seostamiseks",
+			"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+			"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+			"MOTIONPROXY": "Välja peab olema järgmine vorming: <protokoll>: // <aadressiaadress> [: <port>]. Näide: https: //X.Y.Z.W",
+			"NAME": "Toetatud on ainult numbrid, tähed ja kindlad märgid (._)",
+			"RECEIVEURL": "See on automaatselt loodud API string, mida peate kasutama oma kontol olevate sõnumite vastuvõtmiseks oma WhatsApp Connectori pakkujalt (tuleb kasutada POST-meetodit): selle kopeerimiseks klõpsake lõikelaua nuppu",
+			"WELCOMEMESSAGE": "See on esimene vastussõnum, mis saadetakse uutele interaktsioonidele"
+		},
+		"ACCESSKEYID": "Juurdepääsukoodi ID",
+		"ACCOUNTSID": "Konto SID",
+		"ACTIONS": "Tegevused",
+		"ADD_NOTE": "Lisada märkus",
+		"ADD_WHATSAPPACCOUNT": "Lisama",
+		"ADD_WHATSAPPCANNEDANSWER": "Lisage konserveeritud vastus",
+		"ADD_WHATSAPPDISPOSITION": "Lisage WhatsApp Disposition",
+		"ADD_WHATSAPPQUEUE": "Lisage järjekord WhatsApp",
+		"ADVANCED": "Täpsemad",
+		"AGENT": "Agent",
+		"AGENTADD_QUEUE": "Lisage agent WhatsApp'i järjekorda",
+		"AGENTADD_WHATSAPPACCOUNT": "Lisage agent WhatsApi kontole",
+		"AGENTADD_WHATSAPPQUEUE": "Lisage agent WhatsApp'i järjekorda",
+		"AGENTS": "Agentid",
+		"AGENTSADD_QUEUE": "Lisage esindajad WhatsApi järjekorda",
+		"AGENTTRANSFER": "Agent Transfer",
+		"AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+		"AGENT_TIMEOUT": "Agent aegumine",
+		"ALL": "Kõik",
+		"ALL_AGENTS": "Kõik esindajad",
+		"ALL_TEAMS": "Kõik võistkonnad",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Autentimismärk",
+		"AUTOREPLY": "Automaatne vastus",
+		"BACK": "tagasi",
+		"BOTNAME": "Boti nimi",
+		"BUSY": "Hõivatud",
+		"CANNEDANSWERS": "Konserveeritud vastused",
+		"CANNED_ANSWER_NOT_FOUND": "Konserveeritud vastuseid ei leitud",
+		"CANNED_ANSWER_SEARCH": "Sisestage tekst konserveeritud vastusest otsimiseks",
+		"CAPACITY": "Maht",
+		"CLOSE": "Sulge",
+		"CLOSED": "Suletud",
+		"CLOSEMETHOD": "Sule meetod",
+		"CLOSEURL": "Sulge URL",
+		"COMMAND": "Käsk",
+		"CONDITION": "Seisund",
+		"CONTACT": "Võtke ühendust",
+		"CREATED_AT": "Loodud kell",
+		"DEFAULT_PAUSE": "Vaikimisi paus",
+		"DELETE": "Kustuta",
+		"DELETE_INTERACTION": "Kustuta interaktsioon",
+		"DELETE_SELECTED": "Kustuta valitud",
+		"DELETE_WHATSAPPACCOUNT": "Kustutage WhatsApi konto",
+		"DELETE_WHATSAPPCANNEDANSWER": "Kustutatud",
+		"DELETE_WHATSAPPDISPOSITION": "Kustutage WhatsApp Disposition",
+		"DELETE_WHATSAPPQUEUE": "Kustutage WhatsApp Queue",
+		"DESCRIPTION": "Kirjeldus",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Dispositsioon",
+		"DISPOSITIONS": "Dispositsioonid",
+		"DOWNLOAD_INTERACTION": "Lae alla",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Laadige alla ilma manusteta",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Laadige alla koos manustega",
+		"EDIT_AGENT": "Redigeeri esindajat",
+		"EDIT_AMAZONLEX": "Redigeeri Lexi konfiguratsiooni",
+		"EDIT_AUTOREPLY": "Redigeeri automaatvastust",
+		"EDIT_CLOSE": "Redigeerimine Sulge",
+		"EDIT_DIALOGFLOW": "Redigeeri DialogFlow konfiguratsiooni",
+		"EDIT_GOTOIF": "Redigeeri Gotoifi",
+		"EDIT_GOTOP": "Redigeeri Gotopit",
+		"EDIT_NOOP": "Redigeeri Noopi",
+		"EDIT_QUEUE": "Redigeeri järjekorda",
+		"EDIT_SYSTEM": "Redigeeri süsteemi",
+		"EDIT_TAG": "Redigeeri silti",
+		"EDIT_WHATSAPPACCOUNT": "Muutke WhatsApi kontot",
+		"EDIT_WHATSAPPCANNEDANSWER": "Redigeeri",
+		"EDIT_WHATSAPPDISPOSITION": "Muutke WhatsApi dispositsiooni",
+		"EDIT_WHATSAPPQUEUE": "Redigeeri WhatsApi järjekorda",
+		"FALSEPRIORITY": "Vale prioriteet",
+		"GENERAL": "Kindral",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Minge reaalajas WhatsApi järjekorda",
+		"GO_TO_WHATSAPPACCOUNTS": "Minge kontole",
+		"ID": "Id",
+		"IDLE": "Tühikäik",
+		"INSERT_MESSAGE_HERE": "Sisestage sõnum siia",
+		"INTERACTIONS": "Koostoimed",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Minge jaotisse Interaktsioonid",
+		"KEY": "Võti",
+		"LANGUAGE": "Keel",
+		"LASTMESSAGE": "Viimane sõnum",
+		"LEXREGION": "Piirkond",
+		"LIST": "Loend",
+		"LOGGED_IN": "Sisse logitud (SIP ühendatud)",
+		"LOGIN_TIME": "Sisselogimise aeg",
+		"LOGOUT": "Logi välja",
+		"MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+		"MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
+		"MORE": "Veel",
+		"MOTIONPROXY": "Puhverserver või liikumisdomeen",
+		"MULTI_SELECT_TOGGLE": "Mitme valiku lülitamine",
+		"NAME": "Nimi",
+		"NEW_WHATSAPPACCOUNT": "Uus WhatsApi konto",
+		"NEW_WHATSAPPCANNEDANSWER": "Uus vastus WhatsAppile",
+		"NEW_WHATSAPPDISPOSITION": "Uus seade WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Uus WhatsApi järjekord",
+		"NOOP": "Noop",
+		"NOTE": "Märge",
+		"NOTIFICATION": "Teatamine",
+		"NOTIFICATIONSHAKE": "Raputama",
+		"NOTIFICATIONSOUND": "Heli",
+		"NOTIFICATIONTEMPLATE": "Mall",
+		"NO_AGENT_ONLINE": "Pole esindajat võrgus",
+		"NO_AVAILABLE_INFO": "Pole saadaval teavet",
+		"NO_INTERACTION_AVAILABLE": "Ühtegi interaktsiooni pole saadaval",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsApi konserveeritud vastuseid pole saadaval",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "WhatsApi dispositsioonid pole saadaval",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "WhatsApi kontosid pole saadaval",
+		"OF": "kohta",
+		"OPENED": "Avatud",
+		"PAGE": "Leht",
+		"PARTIALPAUSE": "Osaline paus",
+		"PAUSE": "Paus",
+		"PAUSED": "Peatatud",
+		"PAUSE_TIME": "Pausi aeg",
+		"PHONE": "Telefon",
+		"PRIORITY": "Prioriteet",
+		"PROXY": "Puhverserver",
+		"QUEUE": "Järjekord",
+		"QUEUES": "Järjekorrad",
+		"QUEUETRANSFER": "Järjekorra ülekandmine",
+		"QUEUETRANSFERTIMEOUT": "Järjekorra ülekandmise ajalõpp",
+		"READY": "Valmis",
+		"REALTIME": "Reaalajas",
+		"RECEIVEURL": "Saate URL-i",
+		"REFRESH_INTERACTIONS": "Värskenda interaktsioone",
+		"REMOTE": "Kaugjuhtimispult",
+		"ROWSPERPAGE": "Ridasid lehel",
+		"SAVE": "Salvesta",
+		"SCREENRECORDING": "Halda ekraanisalvestust",
+		"SEARCH_FOR_ANYONE": "Otsing",
+		"SECRETACCESSKEY": "Juurdepääsu võtme saladus",
+		"SELECTED": "Valitud",
+		"SELECTED_AGENTS": "Valitud esindajad",
+		"SELECTED_TEAMS": "Valitud meeskonnad",
+		"SELECT_ALL": "Vali kõik",
+		"SELECT_NONE": "Valige ükski",
+		"SEND": "Saada",
+		"SETTINGS": "Seadistused",
+		"SPYINTERACTION": "Spioonide interaktsioon",
+		"STARTEDAT": "Alustati kell",
+		"START_SCREENRECORDING": "Alusta ekraani salvestamist",
+		"STATUS": "Olek",
+		"STOP_SCREENRECORDING": "Peata ekraanil salvestamine",
+		"STRATEGY": "Strateegia",
+		"SYSTEM": "Süsteem",
+		"TAG": "Silt",
+		"TAGS": "Sildid",
+		"TEAMADD_WHATSAPPQUEUE": "Lisage meeskond WhatsApp'i järjekorda",
+		"TEAMS_ASSOCIATION": "Võistkondade liit",
+		"TEXT": "Tekst",
+		"TIMEOUT": "Aeg maha",
+		"TIMER": "Taimer",
+		"TIMES": "Ajad",
+		"TO": "Et",
+		"TOKEN": "Märk",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
+		"TRANSFER": "Ülekanne",
+		"TRUEPRIORITY": "Tõeline prioriteet",
+		"TYPE": "Tüüp",
+		"UNPAUSE": "Lõpeta paus",
+		"VALUE": "Väärtus",
+		"VARIABLE": "Muutuv",
+		"WAITFORTHEASSIGNEDAGENT": "Oodake määratud esindajat",
+		"WAITING": "Ootan",
+		"WELCOMEMESSAGE": "Tervitussõnum",
+		"WHATSAPP": "WhatsApp-pistik",
+		"WHATSAPPACCOUNTS": "WhatsApi kontod",
+		"WHATSAPPCANNEDANSWERS": "WhatsApi konserveeritud vastused",
+		"WHATSAPPDISPOSITIONS": "WhatsApi dispositsioonid",
+		"WHATSAPPQUEUES": "WhatsApi järjekorrad"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/fa.json b/public/app/main/apps/whatsapp/i18n/fa.json
new file mode 100644
index 0000000..06f011f
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/fa.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "زمینه اجباری",
+			"ACCOUNTSID_REQUIRED": "زمینه اجباری",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
+			"AGENT_REQUIRED": "زمینه اجباری",
+			"AGENT_TIMEOUT_REQUIRED": "زمینه اجباری",
+			"AUTHTOKEN_REQUIRED": "زمینه اجباری",
+			"BOTNAME_REQUIRED": "زمینه اجباری",
+			"COMMAND_REQUIRED": "زمینه اجباری",
+			"CONDITION_REQUIRED": "زمینه اجباری",
+			"DESCRIPTION_REQUIRED": "زمینه اجباری",
+			"DISPOSITION_REQUIRED": "زمینه اجباری",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
+			"FALSEPRIORITY_REQUIRED": "زمینه اجباری",
+			"KEY_MAX_LENGTH": "مقدار باید حداکثر طول مساوی با {{حداکثر} داشته باشد",
+			"KEY_REQUIRED": "زمینه اجباری",
+			"LANGUAGE_REQUIRED": "زمینه اجباری",
+			"LEXREGION_REQUIRED": "زمینه اجباری",
+			"LIST_REQUIRED": "زمینه اجباری",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری",
+			"NAME_REQUIRED": "زمینه اجباری",
+			"PHONE_REQUIRED": "زمینه اجباری",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
+			"PRIORITY_REQUIRED": "زمینه اجباری",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
+			"QUEUE_REQUIRED": "زمینه اجباری",
+			"SECRETACCESSKEY_REQUIRED": "زمینه اجباری",
+			"TAG_REQUIRED": "زمینه اجباری",
+			"TEXT_REQUIRED": "زمینه اجباری",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
+			"TIMEOUT_REQUIRED": "زمینه اجباری",
+			"TIMES_REQUIRED": "زمینه اجباری",
+			"TOKEN_REQUIRED": "زمینه اجباری",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
+			"TRUEPRIORITY_REQUIRED": "زمینه اجباری",
+			"TYPE_REQUIRED": "زمینه اجباری",
+			"VALUE_REQUIRED": "زمینه اجباری",
+			"VARIABLE_REQUIRED": "زمینه اجباری",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "زمینه اجباری",
+			"WELCOMEMESSAGE_MAX_LENGTH": "مقدار باید حداکثر طول مساوی با {{حداکثر} داشته باشد",
+			"WELCOMEMESSAGE_REQUIRED": "زمینه اجباری"
+		},
+		"HELP": {
+			"LIST": "لیست مدیر تماس با ما برای ارتباط مخاطبین استفاده می شود",
+			"MANDATORYDISPOSITION": "وضع اجباری",
+			"MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن وضع اجباری ، مکث کنید",
+			"MOTIONPROXY": "این فیلد باید دارای فرم زیر باشد: <protocol>: // <ipaddress> [: <port>]. مثال: https: //X.Y.Z.W",
+			"NAME": "فقط اعداد ، حروف و کاراکترهای خاص (._) پشتیبانی می شوند",
+			"RECEIVEURL": "این رشته API خودکار تولید شده است که برای دریافت پیام های داخل حساب خود از ارائه دهنده اتصال WhatsApp خود استفاده می کنید (باید روش POST استفاده شود): روی دکمه کلیپ بورد کلیک کنید تا آن را کپی کنید.",
+			"WELCOMEMESSAGE": "این اولین پیام پاسخی است که به تعاملات جدید ارسال می شود"
+		},
+		"ACCESSKEYID": "شناسه کلید دسترسی",
+		"ACCOUNTSID": "حساب SID",
+		"ACTIONS": "اقدامات",
+		"ADD_NOTE": "یادداشت اضافه کنید",
+		"ADD_WHATSAPPACCOUNT": "اضافه کردن",
+		"ADD_WHATSAPPCANNEDANSWER": "پاسخ کنسرو شده را اضافه کنید",
+		"ADD_WHATSAPPDISPOSITION": "Disposition واتساپ اضافه کنید",
+		"ADD_WHATSAPPQUEUE": "صف WhatsApp را اضافه کنید",
+		"ADVANCED": "پیشرفته",
+		"AGENT": "عامل",
+		"AGENTADD_QUEUE": "عامل را به صف WhatsApp اضافه کنید",
+		"AGENTADD_WHATSAPPACCOUNT": "نماینده را به حساب WhatsApp اضافه کنید",
+		"AGENTADD_WHATSAPPQUEUE": "عامل را به صف WhatsApp اضافه کنید",
+		"AGENTS": "نمایندگان",
+		"AGENTSADD_QUEUE": "عوامل را به صف WhatsApp اضافه کنید",
+		"AGENTTRANSFER": "انتقال عامل",
+		"AGENTTRANSFERTIMEOUT": "زمان انتقال آژانس",
+		"AGENT_TIMEOUT": "زمان تحویل عامل",
+		"ALL": "همه",
+		"ALL_AGENTS": "همه نمایندگان",
+		"ALL_TEAMS": "همه تیم ها",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "نویسنده توکن",
+		"AUTOREPLY": "پاسخ خودکار",
+		"BACK": "بازگشت",
+		"BOTNAME": "نام ربات",
+		"BUSY": "مشغول",
+		"CANNEDANSWERS": "پاسخهای کنسرو شده",
+		"CANNED_ANSWER_NOT_FOUND": "هیچ پاسخی برای کنسرو یافت نشد",
+		"CANNED_ANSWER_SEARCH": "برای جستجوی یک پاسخ کنسرو شده ، متنی را وارد کنید",
+		"CAPACITY": "ظرفیت",
+		"CLOSE": "نزدیک",
+		"CLOSED": "بسته شد",
+		"CLOSEMETHOD": "روش بستن",
+		"CLOSEURL": "بستن آدرس اینترنتی",
+		"COMMAND": "فرمان",
+		"CONDITION": "وضعیت",
+		"CONTACT": "مخاطب",
+		"CREATED_AT": "ایجاد شده در",
+		"DEFAULT_PAUSE": "نمایندگی PAUSE",
+		"DELETE": "حذف",
+		"DELETE_INTERACTION": "تعامل را حذف کنید",
+		"DELETE_SELECTED": "انتخاب شده را پاک کن",
+		"DELETE_WHATSAPPACCOUNT": "حساب WhatsApp را حذف کنید",
+		"DELETE_WHATSAPPCANNEDANSWER": "حذف شده",
+		"DELETE_WHATSAPPDISPOSITION": "حذف WhatsApp Disposition",
+		"DELETE_WHATSAPPQUEUE": "صف WhatsApp را حذف کنید",
+		"DESCRIPTION": "شرح",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "وضع",
+		"DISPOSITIONS": "دفع ها",
+		"DOWNLOAD_INTERACTION": "دانلود",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "بارگیری بدون پیوست",
+		"DOWNLOAD_WITH_ATTACHMENTS": "بارگیری با پیوست ها",
+		"EDIT_AGENT": "ویرایش عامل",
+		"EDIT_AMAZONLEX": "پیکربندی Lex را ویرایش کنید",
+		"EDIT_AUTOREPLY": "پاسخ خودکار را ویرایش کنید",
+		"EDIT_CLOSE": "ویرایش بستن",
+		"EDIT_DIALOGFLOW": "پیکربندی DialogFlow را ویرایش کنید",
+		"EDIT_GOTOIF": "ویرایش Gotoif",
+		"EDIT_GOTOP": "Gotop را ویرایش کنید",
+		"EDIT_NOOP": "ویرایش Noop",
+		"EDIT_QUEUE": "ویرایش صف",
+		"EDIT_SYSTEM": "ویرایش سیستم",
+		"EDIT_TAG": "برچسب را ویرایش کنید",
+		"EDIT_WHATSAPPACCOUNT": "حساب WhatsApp را ویرایش کنید",
+		"EDIT_WHATSAPPCANNEDANSWER": "ویرایش کنید",
+		"EDIT_WHATSAPPDISPOSITION": "قرار دادن واتس اپ",
+		"EDIT_WHATSAPPQUEUE": "صف WhatsApp را ویرایش کنید",
+		"FALSEPRIORITY": "اولویت کاذب",
+		"GENERAL": "عمومی",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "برو بالا",
+		"GOTOREALTIME_WHATSAPPQUEUE": "برو به Realtime Que WhatsApp",
+		"GO_TO_WHATSAPPACCOUNTS": "به حساب کاربری بروید",
+		"ID": "شناسه",
+		"IDLE": "بیکار",
+		"INSERT_MESSAGE_HERE": "درج پیام در اینجا",
+		"INTERACTIONS": "فعل و انفعالات",
+		"INTERACTIONS_WHATSAPPACCOUNT": "برو به تعامل",
+		"KEY": "کلید",
+		"LANGUAGE": "زبان",
+		"LASTMESSAGE": "آخرین پیام",
+		"LEXREGION": "منطقه",
+		"LIST": "لیست",
+		"LOGGED_IN": "ورود به سیستم (SIP متصل)",
+		"LOGIN_TIME": "زمان ورود",
+		"LOGOUT": "خروج",
+		"MANDATORYDISPOSITION": "اختیار اجباری",
+		"MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن وضع اجباری ، مکث کنید",
+		"MORE": "بیشتر",
+		"MOTIONPROXY": "دامنه پروکسی یا حرکت",
+		"MULTI_SELECT_TOGGLE": "چند گزینه را انتخاب کنید",
+		"NAME": "نام",
+		"NEW_WHATSAPPACCOUNT": "حساب واتس اپ جدید",
+		"NEW_WHATSAPPCANNEDANSWER": "پاسخ کنسرو شده جدید WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Disposition جدید WhatsApp",
+		"NEW_WHATSAPPQUEUE": "صف جدید WhatsApp",
+		"NOOP": "ظهر",
+		"NOTE": "توجه داشته باشید",
+		"NOTIFICATION": "اطلاع",
+		"NOTIFICATIONSHAKE": "تکان دادن",
+		"NOTIFICATIONSOUND": "صدا",
+		"NOTIFICATIONTEMPLATE": "قالب",
+		"NO_AGENT_ONLINE": "بدون نماینده آنلاین",
+		"NO_AVAILABLE_INFO": "اطلاعات در دسترس نیست",
+		"NO_INTERACTION_AVAILABLE": "هیچ تعامل در دسترس نیست",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "هیچ پاسخی برای واتساپ وجود ندارد",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "هیچ Dispositions واتس اپ در دسترس نیست",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "هیچ حساب واتس اپ موجود نیست",
+		"OF": "از",
+		"OPENED": "افتتاح شد",
+		"PAGE": "صفحه",
+		"PARTIALPAUSE": "مکث جزئی",
+		"PAUSE": "مکث کنید",
+		"PAUSED": "مکث کرد",
+		"PAUSE_TIME": "زمان مکث",
+		"PHONE": "تلفن",
+		"PRIORITY": "اولویت",
+		"PROXY": "پروکسی",
+		"QUEUE": "صف",
+		"QUEUES": "صف",
+		"QUEUETRANSFER": "انتقال صف",
+		"QUEUETRANSFERTIMEOUT": "پایان زمان انتقال صف",
+		"READY": "آماده",
+		"REALTIME": "به موقع",
+		"RECEIVEURL": "URL را دریافت کنید",
+		"REFRESH_INTERACTIONS": "تعامل را تازه کنید",
+		"REMOTE": "از راه دور",
+		"ROWSPERPAGE": "ردیف در هر صفحه",
+		"SAVE": "صرفه جویی",
+		"SCREENRECORDING": "ضبط صفحه را مدیریت کنید",
+		"SEARCH_FOR_ANYONE": "جستجو کردن",
+		"SECRETACCESSKEY": "راز دسترسی به کلید",
+		"SELECTED": "انتخاب شد",
+		"SELECTED_AGENTS": "نمایندگان منتخب",
+		"SELECTED_TEAMS": "تیم های منتخب",
+		"SELECT_ALL": "انتخاب همه",
+		"SELECT_NONE": "هیچ کدام را انتخاب نکنید",
+		"SEND": "ارسال",
+		"SETTINGS": "تنظیمات",
+		"SPYINTERACTION": "تعامل جاسوسی",
+		"STARTEDAT": "در آغاز شد",
+		"START_SCREENRECORDING": "ضبط صفحه را شروع کنید",
+		"STATUS": "وضعیت",
+		"STOP_SCREENRECORDING": "ضبط صفحه را متوقف کنید",
+		"STRATEGY": "استراتژی",
+		"SYSTEM": "سیستم",
+		"TAG": "برچسب زدن",
+		"TAGS": "برچسب ها",
+		"TEAMADD_WHATSAPPQUEUE": "تیم را به صف WhatsApp اضافه کنید",
+		"TEAMS_ASSOCIATION": "انجمن نوجوانان",
+		"TEXT": "متن",
+		"TIMEOUT": "زمان پایان",
+		"TIMER": "تایمر",
+		"TIMES": "بار",
+		"TO": "به",
+		"TOKEN": "گفتن",
+		"TOOLTIP_SCREENRECORDING_OFF": "ضبط صفحه در دسترس است",
+		"TOOLTIP_SCREENRECORDING_ON": "ضبط صفحه در حال انجام است",
+		"TRANSFER": "منتقل کردن",
+		"TRUEPRIORITY": "اولویت واقعی",
+		"TYPE": "تایپ کنید",
+		"UNPAUSE": "پایان مکث",
+		"VALUE": "مقدار",
+		"VARIABLE": "متغیر",
+		"WAITFORTHEASSIGNEDAGENT": "منتظر عامل تعیین شده باشید",
+		"WAITING": "در انتظار",
+		"WELCOMEMESSAGE": "پیام خوش امد گویی",
+		"WHATSAPP": "اتصال واتساپ",
+		"WHATSAPPACCOUNTS": "حساب های WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "پاسخهای کنسرو واتس اپ",
+		"WHATSAPPDISPOSITIONS": "Dispositions WhatsApp",
+		"WHATSAPPQUEUES": "صف های WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/fi.json b/public/app/main/apps/whatsapp/i18n/fi.json
new file mode 100644
index 0000000..c8e80ca
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/fi.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Pakollinen kenttä",
+			"ACCOUNTSID_REQUIRED": "Pakollinen kenttä",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
+			"AGENT_REQUIRED": "Pakollinen kenttä",
+			"AGENT_TIMEOUT_REQUIRED": "Pakollinen kenttä",
+			"AUTHTOKEN_REQUIRED": "Pakollinen kenttä",
+			"BOTNAME_REQUIRED": "Pakollinen kenttä",
+			"COMMAND_REQUIRED": "Pakollinen kenttä",
+			"CONDITION_REQUIRED": "Pakollinen kenttä",
+			"DESCRIPTION_REQUIRED": "Pakollinen kenttä",
+			"DISPOSITION_REQUIRED": "Pakollinen kenttä",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+			"FALSEPRIORITY_REQUIRED": "Pakollinen kenttä",
+			"KEY_MAX_LENGTH": "Arvon maksimipituuden on oltava {{max}}",
+			"KEY_REQUIRED": "Pakollinen kenttä",
+			"LANGUAGE_REQUIRED": "Pakollinen kenttä",
+			"LEXREGION_REQUIRED": "Pakollinen kenttä",
+			"LIST_REQUIRED": "Pakollinen kenttä",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä",
+			"NAME_REQUIRED": "Pakollinen kenttä",
+			"PHONE_REQUIRED": "Pakollinen kenttä",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+			"PRIORITY_REQUIRED": "Pakollinen kenttä",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
+			"QUEUE_REQUIRED": "Pakollinen kenttä",
+			"SECRETACCESSKEY_REQUIRED": "Pakollinen kenttä",
+			"TAG_REQUIRED": "Pakollinen kenttä",
+			"TEXT_REQUIRED": "Pakollinen kenttä",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+			"TIMEOUT_REQUIRED": "Pakollinen kenttä",
+			"TIMES_REQUIRED": "Pakollinen kenttä",
+			"TOKEN_REQUIRED": "Pakollinen kenttä",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+			"TRUEPRIORITY_REQUIRED": "Pakollinen kenttä",
+			"TYPE_REQUIRED": "Pakollinen kenttä",
+			"VALUE_REQUIRED": "Pakollinen kenttä",
+			"VARIABLE_REQUIRED": "Pakollinen kenttä",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pakollinen kenttä",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Arvon maksimipituuden on oltava {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Pakollinen kenttä"
+		},
+		"HELP": {
+			"LIST": "Yhteystietojen yhdistämiseen käytetty yhteyshenkilöluettelo",
+			"MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
+			"MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, kun pakollinen sijoittaminen on käytössä",
+			"MOTIONPROXY": "Kentän on oltava seuraavan muodossa: <protokolla>: // <osoiteosoite> [: <port>]. Esimerkki: https: //X.Y.Z.W",
+			"NAME": "Vain numeroita, kirjaimia ja tiettyjä merkkejä (._) tuetaan",
+			"RECEIVEURL": "Tämä on automaattisesti luotu API-merkkijono, jota sinun on käytettävä tilisi sisäisten viestien vastaanottamiseen WhatsApp-liitäntätoimittajalta (POST-menetelmää on käytettävä): kopioi napsauttamalla leikepöytäpainiketta",
+			"WELCOMEMESSAGE": "Tämä on ensimmäinen vastausviesti, joka lähetetään uusiin vuorovaikutuksiin"
+		},
+		"ACCESSKEYID": "Käyttöavaintunnus",
+		"ACCOUNTSID": "Tilin SID",
+		"ACTIONS": "Toiminnot",
+		"ADD_NOTE": "Lisätä huomautus",
+		"ADD_WHATSAPPACCOUNT": "Lisätä",
+		"ADD_WHATSAPPCANNEDANSWER": "Lisää säilytetty vastaus",
+		"ADD_WHATSAPPDISPOSITION": "Lisää WhatsApp Disposition",
+		"ADD_WHATSAPPQUEUE": "Lisää WhatsApp-jono",
+		"ADVANCED": "Pitkälle kehittynyt",
+		"AGENT": "agentti",
+		"AGENTADD_QUEUE": "Lisää agentti WhatsApp-jonoon",
+		"AGENTADD_WHATSAPPACCOUNT": "Lisää agentti WhatsApp-tilille",
+		"AGENTADD_WHATSAPPQUEUE": "Lisää agentti WhatsApp-jonoon",
+		"AGENTS": "agents",
+		"AGENTSADD_QUEUE": "Lisää edustajia WhatsApp-jonoon",
+		"AGENTTRANSFER": "Agentin siirto",
+		"AGENTTRANSFERTIMEOUT": "Agentin siirron aikakatkaisu",
+		"AGENT_TIMEOUT": "Agentin aikakatkaisu",
+		"ALL": "Kaikki",
+		"ALL_AGENTS": "Kaikki agentit",
+		"ALL_TEAMS": "Kaikki joukkueet",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Auth-tunnus",
+		"AUTOREPLY": "Automaattinen vastaus",
+		"BACK": "Takaisin",
+		"BOTNAME": "Botin nimi",
+		"BUSY": "Kiireinen",
+		"CANNEDANSWERS": "Säilytetyt vastaukset",
+		"CANNED_ANSWER_NOT_FOUND": "Säilytettyjä vastauksia ei löytynyt",
+		"CANNED_ANSWER_SEARCH": "Kirjoita teksti hakemaan säilötystä vastauksesta",
+		"CAPACITY": "kapasiteetti",
+		"CLOSE": "kiinni",
+		"CLOSED": "Suljettu",
+		"CLOSEMETHOD": "Sulje menetelmä",
+		"CLOSEURL": "Sulje URL",
+		"COMMAND": "Komento",
+		"CONDITION": "Kunto",
+		"CONTACT": "Ottaa yhteyttä",
+		"CREATED_AT": "Luotu",
+		"DEFAULT_PAUSE": "Oletustauko",
+		"DELETE": "Poistaa",
+		"DELETE_INTERACTION": "Poista vuorovaikutus",
+		"DELETE_SELECTED": "Poista valitut",
+		"DELETE_WHATSAPPACCOUNT": "Poista WhatsApp-tili",
+		"DELETE_WHATSAPPCANNEDANSWER": "Poistettu",
+		"DELETE_WHATSAPPDISPOSITION": "Poista WhatsApp Disposition",
+		"DELETE_WHATSAPPQUEUE": "Poista WhatsApp Queue",
+		"DESCRIPTION": "Kuvaus",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "luonteenlaatu",
+		"DISPOSITIONS": "Mielenlaatuja",
+		"DOWNLOAD_INTERACTION": "ladata",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Lataa ilman liitteitä",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Lataa liitteineen",
+		"EDIT_AGENT": "Muokkaa agenttia",
+		"EDIT_AMAZONLEX": "Muokkaa Lex-kokoonpanoa",
+		"EDIT_AUTOREPLY": "Muokkaa automaattista vastausta",
+		"EDIT_CLOSE": "Muokkaa Sulje",
+		"EDIT_DIALOGFLOW": "Muokkaa DialogFlow-määrityksiä",
+		"EDIT_GOTOIF": "Muokkaa Gotoifia",
+		"EDIT_GOTOP": "Muokkaa Gotopia",
+		"EDIT_NOOP": "Muokkaa Noop",
+		"EDIT_QUEUE": "Muokkaa jonoa",
+		"EDIT_SYSTEM": "Muokkaa järjestelmää",
+		"EDIT_TAG": "Muokkaa tunnistetta",
+		"EDIT_WHATSAPPACCOUNT": "Muokkaa WhatsApp-tiliä",
+		"EDIT_WHATSAPPCANNEDANSWER": "Muokata",
+		"EDIT_WHATSAPPDISPOSITION": "Muokkaa WhatsApp-sijoitusta",
+		"EDIT_WHATSAPPQUEUE": "Muokkaa WhatsApp-jonoa",
+		"FALSEPRIORITY": "Väärä prioriteetti",
+		"GENERAL": "yleinen",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Siirry reaaliaikaiseen WhatsApp-jonoon",
+		"GO_TO_WHATSAPPACCOUNTS": "Siirry tilille",
+		"ID": "Id",
+		"IDLE": "tyhjäkäynti",
+		"INSERT_MESSAGE_HERE": "Lisää viesti tähän",
+		"INTERACTIONS": "vuorovaikutukset",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Siirry kohtaan Vuorovaikutukset",
+		"KEY": "avain",
+		"LANGUAGE": "Kieli",
+		"LASTMESSAGE": "Viimeinen viesti",
+		"LEXREGION": "alue",
+		"LIST": "Lista",
+		"LOGGED_IN": "Sisäänkirjautunut (SIP kytketty)",
+		"LOGIN_TIME": "Sisäänkirjautumisaika",
+		"LOGOUT": "Kirjautua ulos",
+		"MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
+		"MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, kun pakollinen sijoittaminen on käytössä",
+		"MORE": "Lisää",
+		"MOTIONPROXY": "Välityspalvelin tai liikealue",
+		"MULTI_SELECT_TOGGLE": "Monivalintavaihto",
+		"NAME": "Nimi",
+		"NEW_WHATSAPPACCOUNT": "Uusi WhatsApp-tili",
+		"NEW_WHATSAPPCANNEDANSWER": "Uusi WhatsApp -vastaava vastaus",
+		"NEW_WHATSAPPDISPOSITION": "Uusi WhatsApp-asema",
+		"NEW_WHATSAPPQUEUE": "Uusi WhatsApp -jono",
+		"NOOP": "noop",
+		"NOTE": "Merkintä",
+		"NOTIFICATION": "ilmoitus",
+		"NOTIFICATIONSHAKE": "Shake",
+		"NOTIFICATIONSOUND": "Ääni",
+		"NOTIFICATIONTEMPLATE": "Sapluuna",
+		"NO_AGENT_ONLINE": "Ei edustajaa verkossa",
+		"NO_AVAILABLE_INFO": "Ei saatavissa olevaa tietoa",
+		"NO_INTERACTION_AVAILABLE": "Ei vuorovaikutusta",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Ei WhatsApp-säilöttyjä vastauksia",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "WhatsApp-määrityksiä ei ole käytettävissä",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "WhatsApp-tilejä ei ole saatavana",
+		"OF": "of",
+		"OPENED": "avattu",
+		"PAGE": "Sivu",
+		"PARTIALPAUSE": "Osittainen tauko",
+		"PAUSE": "Tauko",
+		"PAUSED": "Keskeytetty",
+		"PAUSE_TIME": "Taukoaika",
+		"PHONE": "Puhelin",
+		"PRIORITY": "prioriteetti",
+		"PROXY": "valtakirja",
+		"QUEUE": "Jonottaa",
+		"QUEUES": "jonot",
+		"QUEUETRANSFER": "Jononsiirto",
+		"QUEUETRANSFERTIMEOUT": "Jononsiirron aikakatkaisu",
+		"READY": "Valmis",
+		"REALTIME": "Reaaliaika",
+		"RECEIVEURL": "Vastaanota URL",
+		"REFRESH_INTERACTIONS": "Päivitä vuorovaikutukset",
+		"REMOTE": "Etä",
+		"ROWSPERPAGE": "Rivit / sivu",
+		"SAVE": "Tallentaa",
+		"SCREENRECORDING": "Hallitse näytön tallennusta",
+		"SEARCH_FOR_ANYONE": "Hae",
+		"SECRETACCESSKEY": "Pääsysalaisuus",
+		"SELECTED": "valittu",
+		"SELECTED_AGENTS": "Valitut edustajat",
+		"SELECTED_TEAMS": "Valitut joukkueet",
+		"SELECT_ALL": "Valitse kaikki",
+		"SELECT_NONE": "Älä valitse mitään",
+		"SEND": "Lähettää",
+		"SETTINGS": "asetukset",
+		"SPYINTERACTION": "Vakoilijoiden vuorovaikutus",
+		"STARTEDAT": "Alkaen klo",
+		"START_SCREENRECORDING": "Aloitusnäytön nauhoitus",
+		"STATUS": "Tila",
+		"STOP_SCREENRECORDING": "Lopeta näytön tallennus",
+		"STRATEGY": "strategia",
+		"SYSTEM": "järjestelmä",
+		"TAG": "Tag",
+		"TAGS": "Tunnisteet",
+		"TEAMADD_WHATSAPPQUEUE": "Lisää joukkue WhatsApp-jonoon",
+		"TEAMS_ASSOCIATION": "Joukkueyhdistys",
+		"TEXT": "Teksti",
+		"TIMEOUT": "Aikalisä",
+		"TIMER": "Ajastin",
+		"TIMES": "Ajat",
+		"TO": "jotta",
+		"TOKEN": "symbolinen",
+		"TOOLTIP_SCREENRECORDING_OFF": "Näytön tallennus saatavilla",
+		"TOOLTIP_SCREENRECORDING_ON": "Näytön nauhoitus käynnissä",
+		"TRANSFER": "Siirtää",
+		"TRUEPRIORITY": "Todellinen prioriteetti",
+		"TYPE": "Tyyppi",
+		"UNPAUSE": "Lopeta tauko",
+		"VALUE": "Arvo",
+		"VARIABLE": "muuttuja",
+		"WAITFORTHEASSIGNEDAGENT": "Odota nimettyä agenttia",
+		"WAITING": "Waiting",
+		"WELCOMEMESSAGE": "Tervetuloviesti",
+		"WHATSAPP": "WhatsApp-liitin",
+		"WHATSAPPACCOUNTS": "WhatsApp-tilit",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp-säilötyt vastaukset",
+		"WHATSAPPDISPOSITIONS": "WhatsApp-asetukset",
+		"WHATSAPPQUEUES": "WhatsApp -jonot"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/fr.json b/public/app/main/apps/whatsapp/i18n/fr.json
new file mode 100644
index 0000000..51b6b23
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/fr.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Champ obligatoire",
+			"ACCOUNTSID_REQUIRED": "Champ obligatoire",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
+			"AGENT_REQUIRED": "Champ obligatoire",
+			"AGENT_TIMEOUT_REQUIRED": "Champ obligatoire",
+			"AUTHTOKEN_REQUIRED": "Champ obligatoire",
+			"BOTNAME_REQUIRED": "Champ obligatoire",
+			"COMMAND_REQUIRED": "Champ obligatoire",
+			"CONDITION_REQUIRED": "Champ obligatoire",
+			"DESCRIPTION_REQUIRED": "Champ obligatoire",
+			"DISPOSITION_REQUIRED": "Champ obligatoire",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+			"FALSEPRIORITY_REQUIRED": "Champ obligatoire",
+			"KEY_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
+			"KEY_REQUIRED": "Champ obligatoire",
+			"LANGUAGE_REQUIRED": "Champ obligatoire",
+			"LEXREGION_REQUIRED": "Champ obligatoire",
+			"LIST_REQUIRED": "Champ obligatoire",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire",
+			"NAME_REQUIRED": "Champ obligatoire",
+			"PHONE_REQUIRED": "Champ obligatoire",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+			"PRIORITY_REQUIRED": "Champ obligatoire",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
+			"QUEUE_REQUIRED": "Champ obligatoire",
+			"SECRETACCESSKEY_REQUIRED": "Champ obligatoire",
+			"TAG_REQUIRED": "Champ obligatoire",
+			"TEXT_REQUIRED": "Champ obligatoire",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+			"TIMEOUT_REQUIRED": "Champ obligatoire",
+			"TIMES_REQUIRED": "Champ obligatoire",
+			"TOKEN_REQUIRED": "Champ obligatoire",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+			"TRUEPRIORITY_REQUIRED": "Champ obligatoire",
+			"TYPE_REQUIRED": "Champ obligatoire",
+			"VALUE_REQUIRED": "Champ obligatoire",
+			"VARIABLE_REQUIRED": "Champ obligatoire",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Champ obligatoire",
+			"WELCOMEMESSAGE_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Champ obligatoire"
+		},
+		"HELP": {
+			"LIST": "Liste du gestionnaire de contacts utilisée pour associer des contacts",
+			"MANDATORYDISPOSITION": "Disposition obligatoire",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause pour utiliser lorsque la disposition obligatoire est activée",
+			"MOTIONPROXY": "Le champ doit avoir le format suivant: <protocole>: // <adresseip> [: <port>]. Exemple: https: //X.Y.Z.W",
+			"NAME": "Seuls les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
+			"RECEIVEURL": "Il s'agit de la chaîne API générée automatiquement que vous devez utiliser pour recevoir les messages de votre compte de votre fournisseur de connecteur WhatsApp (la méthode POST doit être utilisée): cliquez sur le bouton du presse-papiers pour le copier",
+			"WELCOMEMESSAGE": "Ceci est le premier message de réponse envoyé aux nouvelles interactions"
+		},
+		"ACCESSKEYID": "ID de la clé d'accès",
+		"ACCOUNTSID": "Compte SID",
+		"ACTIONS": "Actions",
+		"ADD_NOTE": "Ajouter une note",
+		"ADD_WHATSAPPACCOUNT": "Ajouter",
+		"ADD_WHATSAPPCANNEDANSWER": "Ajouter une réponse standardisée",
+		"ADD_WHATSAPPDISPOSITION": "Ajouter une disposition WhatsApp",
+		"ADD_WHATSAPPQUEUE": "Ajouter la file d'attente WhatsApp",
+		"ADVANCED": "Avancée",
+		"AGENT": "Agent",
+		"AGENTADD_QUEUE": "Ajouter un agent à la file d'attente WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Ajouter un agent au compte WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Ajouter un agent à la file d'attente WhatsApp",
+		"AGENTS": "Agents",
+		"AGENTSADD_QUEUE": "Ajouter des agents à la file d'attente WhatsApp",
+		"AGENTTRANSFER": "Transfert d'agent",
+		"AGENTTRANSFERTIMEOUT": "Délai de transfert de l'agent",
+		"AGENT_TIMEOUT": "Délai d'attente de l'agent",
+		"ALL": "Tout",
+		"ALL_AGENTS": "Tous les agents",
+		"ALL_TEAMS": "Toutes les équipes",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Jeton d'authentification",
+		"AUTOREPLY": "Réponse automatique",
+		"BACK": "Arrière",
+		"BOTNAME": "Nom du robot",
+		"BUSY": "Occupé",
+		"CANNEDANSWERS": "Réponses en conserve",
+		"CANNED_ANSWER_NOT_FOUND": "Aucune réponse standardisée n'a été trouvée",
+		"CANNED_ANSWER_SEARCH": "Saisissez un texte pour rechercher une réponse standardisée",
+		"CAPACITY": "Capacité",
+		"CLOSE": "Fermer",
+		"CLOSED": "Fermé",
+		"CLOSEMETHOD": "Close, méthode",
+		"CLOSEURL": "Fermer l'URL",
+		"COMMAND": "Commander",
+		"CONDITION": "État",
+		"CONTACT": "Contact",
+		"CREATED_AT": "Créé à",
+		"DEFAULT_PAUSE": "PAUSE PAR DÉFAUT",
+		"DELETE": "Supprimer",
+		"DELETE_INTERACTION": "Supprimer l'interaction",
+		"DELETE_SELECTED": "Supprimer sélectionnée",
+		"DELETE_WHATSAPPACCOUNT": "Supprimer le compte WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Supprimé",
+		"DELETE_WHATSAPPDISPOSITION": "Supprimer la disposition WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Supprimer la file d'attente WhatsApp",
+		"DESCRIPTION": "La description",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposition",
+		"DISPOSITIONS": "Dispositions",
+		"DOWNLOAD_INTERACTION": "Télécharger",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Télécharger sans pièces jointes",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Télécharger avec pièces jointes",
+		"EDIT_AGENT": "Modifier l'agent",
+		"EDIT_AMAZONLEX": "Modifier la configuration Lex",
+		"EDIT_AUTOREPLY": "Modifier la réponse automatique",
+		"EDIT_CLOSE": "Modifier Fermer",
+		"EDIT_DIALOGFLOW": "Modifier la configuration de DialogFlow",
+		"EDIT_GOTOIF": "Modifier Gotoif",
+		"EDIT_GOTOP": "Modifier Gotop",
+		"EDIT_NOOP": "Modifier Noop",
+		"EDIT_QUEUE": "Modifier la file d'attente",
+		"EDIT_SYSTEM": "Modifier le système",
+		"EDIT_TAG": "Modifier la balise",
+		"EDIT_WHATSAPPACCOUNT": "Modifier le compte WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "Éditer",
+		"EDIT_WHATSAPPDISPOSITION": "Modifier la disposition WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "Modifier la file d'attente WhatsApp",
+		"FALSEPRIORITY": "Fausse priorité",
+		"GENERAL": "Général",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Aller en haut",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Aller à la file d'attente WhatsApp en temps réel",
+		"GO_TO_WHATSAPPACCOUNTS": "Aller au compte",
+		"ID": "Id",
+		"IDLE": "Tourner au ralenti",
+		"INSERT_MESSAGE_HERE": "Insérez le message ici",
+		"INTERACTIONS": "Les interactions",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Aller aux interactions",
+		"KEY": "Clé",
+		"LANGUAGE": "Langue",
+		"LASTMESSAGE": "Dernier message",
+		"LEXREGION": "Région",
+		"LIST": "liste",
+		"LOGGED_IN": "Connecté (SIP connecté)",
+		"LOGIN_TIME": "Heure de connexion",
+		"LOGOUT": "Se déconnecter",
+		"MANDATORYDISPOSITION": "Disposition obligatoire",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause pour utiliser lorsque la disposition obligatoire est activée",
+		"MORE": "Plus",
+		"MOTIONPROXY": "Proxy ou domaine de mouvement",
+		"MULTI_SELECT_TOGGLE": "Bascule de sélection multiple",
+		"NAME": "Nom",
+		"NEW_WHATSAPPACCOUNT": "Nouveau compte WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Nouvelle réponse standardisée WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Nouvelle disposition WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Nouvelle file d'attente WhatsApp",
+		"NOOP": "Noop",
+		"NOTE": "Remarque",
+		"NOTIFICATION": "Notification",
+		"NOTIFICATIONSHAKE": "Secouer",
+		"NOTIFICATIONSOUND": "Du son",
+		"NOTIFICATIONTEMPLATE": "Modèle",
+		"NO_AGENT_ONLINE": "Aucun agent en ligne",
+		"NO_AVAILABLE_INFO": "Aucune information disponible",
+		"NO_INTERACTION_AVAILABLE": "Aucune interaction disponible",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Aucune réponse standardisée WhatsApp disponible",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Aucune disposition WhatsApp disponible",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Aucun compte WhatsApp disponible",
+		"OF": "de",
+		"OPENED": "Ouvert",
+		"PAGE": "Page",
+		"PARTIALPAUSE": "Pause partielle",
+		"PAUSE": "Pause",
+		"PAUSED": "En pause",
+		"PAUSE_TIME": "Le temps de pause",
+		"PHONE": "Téléphone",
+		"PRIORITY": "Priorité",
+		"PROXY": "Procuration",
+		"QUEUE": "Queue",
+		"QUEUES": "Files d'attente",
+		"QUEUETRANSFER": "Transfert de file d'attente",
+		"QUEUETRANSFERTIMEOUT": "Délai de transfert de la file d'attente",
+		"READY": "Prêt",
+		"REALTIME": "Temps réel",
+		"RECEIVEURL": "Recevoir l'URL",
+		"REFRESH_INTERACTIONS": "Actualiser les interactions",
+		"REMOTE": "Éloigné",
+		"ROWSPERPAGE": "Lignes par page",
+		"SAVE": "sauver",
+		"SCREENRECORDING": "Gérer l'enregistrement d'écran",
+		"SEARCH_FOR_ANYONE": "Chercher",
+		"SECRETACCESSKEY": "Clé d'accès secrète",
+		"SELECTED": "Choisi",
+		"SELECTED_AGENTS": "Agents sélectionnés",
+		"SELECTED_TEAMS": "Équipes sélectionnées",
+		"SELECT_ALL": "Tout sélectionner",
+		"SELECT_NONE": "Ne rien sélectionner",
+		"SEND": "Envoyer",
+		"SETTINGS": "Paramètres",
+		"SPYINTERACTION": "Interaction d'espion",
+		"STARTEDAT": "Commencé à",
+		"START_SCREENRECORDING": "Démarrer l'enregistrement d'écran",
+		"STATUS": "Statut",
+		"STOP_SCREENRECORDING": "Arrêter l'enregistrement d'écran",
+		"STRATEGY": "Stratégie",
+		"SYSTEM": "Système",
+		"TAG": "Marque",
+		"TAGS": "Mots clés",
+		"TEAMADD_WHATSAPPQUEUE": "Ajouter une équipe à la file d'attente WhatsApp",
+		"TEAMS_ASSOCIATION": "Association des équipes",
+		"TEXT": "Texte",
+		"TIMEOUT": "Temps libre",
+		"TIMER": "Minuteur",
+		"TIMES": "Fois",
+		"TO": "À",
+		"TOKEN": "Jeton",
+		"TOOLTIP_SCREENRECORDING_OFF": "Enregistrement d'écran disponible",
+		"TOOLTIP_SCREENRECORDING_ON": "Enregistrement d'écran en cours",
+		"TRANSFER": "Transfert",
+		"TRUEPRIORITY": "Vraie priorité",
+		"TYPE": "Type",
+		"UNPAUSE": "Mettre fin à la pause",
+		"VALUE": "Valeur",
+		"VARIABLE": "Variable",
+		"WAITFORTHEASSIGNEDAGENT": "Attendez l'agent assigné",
+		"WAITING": "Attendre",
+		"WELCOMEMESSAGE": "Message de bienvenue",
+		"WHATSAPP": "Connecteur WhatsApp",
+		"WHATSAPPACCOUNTS": "Comptes WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "Réponses en conserve WhatsApp",
+		"WHATSAPPDISPOSITIONS": "Dispositions WhatsApp",
+		"WHATSAPPQUEUES": "Files d'attente WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/he.json b/public/app/main/apps/whatsapp/i18n/he.json
new file mode 100644
index 0000000..aabe947
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/he.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "שדה חובה",
+			"ACCOUNTSID_REQUIRED": "שדה חובה",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה",
+			"AGENT_REQUIRED": "שדה חובה",
+			"AGENT_TIMEOUT_REQUIRED": "שדה חובה",
+			"AUTHTOKEN_REQUIRED": "שדה חובה",
+			"BOTNAME_REQUIRED": "שדה חובה",
+			"COMMAND_REQUIRED": "שדה חובה",
+			"CONDITION_REQUIRED": "שדה חובה",
+			"DESCRIPTION_REQUIRED": "שדה חובה",
+			"DISPOSITION_REQUIRED": "שדה חובה",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
+			"FALSEPRIORITY_REQUIRED": "שדה חובה",
+			"KEY_MAX_LENGTH": "הערך חייב להיות באורך מקסימאלי שווה ל {{max}}",
+			"KEY_REQUIRED": "שדה חובה",
+			"LANGUAGE_REQUIRED": "שדה מנדטורי",
+			"LEXREGION_REQUIRED": "שדה חובה",
+			"LIST_REQUIRED": "שדה חובה",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה",
+			"NAME_REQUIRED": "שדה חובה",
+			"PHONE_REQUIRED": "שדה חובה",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
+			"PRIORITY_REQUIRED": "שדה חובה",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה",
+			"QUEUE_REQUIRED": "שדה חובה",
+			"SECRETACCESSKEY_REQUIRED": "שדה חובה",
+			"TAG_REQUIRED": "שדה חובה",
+			"TEXT_REQUIRED": "שדה חובה",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
+			"TIMEOUT_REQUIRED": "שדה חובה",
+			"TIMES_REQUIRED": "שדה חובה",
+			"TOKEN_REQUIRED": "שדה חובה",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
+			"TRUEPRIORITY_REQUIRED": "שדה חובה",
+			"TYPE_REQUIRED": "שדה חובה",
+			"VALUE_REQUIRED": "שדה חובה",
+			"VARIABLE_REQUIRED": "שדה חובה",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה",
+			"WELCOMEMESSAGE_MAX_LENGTH": "הערך חייב להיות באורך מקסימאלי שווה ל {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "שדה חובה"
+		},
+		"HELP": {
+			"LIST": "רשימת אנשי קשר המשמשת לשייך קשרים",
+			"MANDATORYDISPOSITION": "נטייה חובה",
+			"MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש כאשר פעולת התייחסות חובה מופעלת",
+			"MOTIONPROXY": "השדה צריך להיות בעל הפורמט הבא: <פרוטוקול>: // <כתובת> [: <פורט>]. דוגמה: https: //X.Y.Z.W",
+			"NAME": "נתמכים רק מספרים, אותיות ותווים ספציפיים (._)",
+			"RECEIVEURL": "זהו מחרוזת ה- API המיוצר אוטומטית בה אתה צריך להשתמש בכדי לקבל את ההודעות בחשבונך מספק ה- WhatsApp Connector שלך (יש להשתמש בשיטת POST): לחץ על כפתור הלוח כדי להעתיק אותו",
+			"WELCOMEMESSAGE": "זוהי הודעת התגובה הראשונה שנשלחה לאינטראקציות חדשות"
+		},
+		"ACCESSKEYID": "גישה למזהה מפתח",
+		"ACCOUNTSID": "חשבון SID",
+		"ACTIONS": "פעולות",
+		"ADD_NOTE": "להוסיף הערה",
+		"ADD_WHATSAPPACCOUNT": "לְהוֹסִיף",
+		"ADD_WHATSAPPCANNEDANSWER": "הוסף תשובה משומרת",
+		"ADD_WHATSAPPDISPOSITION": "הוסף WhatsApp Disposition",
+		"ADD_WHATSAPPQUEUE": "הוסף תור WhatsApp",
+		"ADVANCED": "מִתקַדֵם",
+		"AGENT": "סוֹכֵן",
+		"AGENTADD_QUEUE": "הוסף סוכן לתור WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "הוסף סוכן לחשבון WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "הוסף סוכן לתור WhatsApp",
+		"AGENTS": "סוכנים",
+		"AGENTSADD_QUEUE": "הוסף סוכנים לתור WhatsApp",
+		"AGENTTRANSFER": "העברת סוכן",
+		"AGENTTRANSFERTIMEOUT": "פסק זמן להעברת סוכן",
+		"AGENT_TIMEOUT": "פסק זמן לסוכן",
+		"ALL": "את כל",
+		"ALL_AGENTS": "כל הסוכנים",
+		"ALL_TEAMS": "כל הקבוצות",
+		"AMAZONLEX": "אמזון-לקס",
+		"AUTHTOKEN": "אסימון אותנטי",
+		"AUTOREPLY": "תגובה אוטומטית",
+		"BACK": "חזור",
+		"BOTNAME": "שם בוט",
+		"BUSY": "עסוק",
+		"CANNEDANSWERS": "תשובות משומרות",
+		"CANNED_ANSWER_NOT_FOUND": "לא נמצאו תשובות משומר",
+		"CANNED_ANSWER_SEARCH": "הזן טקסט לחיפוש בתשובה משומרת",
+		"CAPACITY": "קיבולת",
+		"CLOSE": "סגור",
+		"CLOSED": "סָגוּר",
+		"CLOSEMETHOD": "שיטה סגורה",
+		"CLOSEURL": "סגור את כתובת האתר",
+		"COMMAND": "פקודה",
+		"CONDITION": "מַצָב",
+		"CONTACT": "איש קשר",
+		"CREATED_AT": "נוצר ב",
+		"DEFAULT_PAUSE": "PAUSE PAUSE",
+		"DELETE": "לִמְחוֹק",
+		"DELETE_INTERACTION": "מחק אינטראקציה",
+		"DELETE_SELECTED": "מחק את הנבחר",
+		"DELETE_WHATSAPPACCOUNT": "מחק את חשבון WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "נמחק",
+		"DELETE_WHATSAPPDISPOSITION": "מחק את התוכן של WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "מחק תור WhatsApp",
+		"DESCRIPTION": "תיאור",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "מֶזֶג",
+		"DISPOSITIONS": "נטיות",
+		"DOWNLOAD_INTERACTION": "הורד",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "הורד ללא קבצים מצורפים",
+		"DOWNLOAD_WITH_ATTACHMENTS": "הורד עם קבצים מצורפים",
+		"EDIT_AGENT": "ערוך סוכן",
+		"EDIT_AMAZONLEX": "ערוך את תצורת Lex",
+		"EDIT_AUTOREPLY": "ערוך תגובה אוטומטית",
+		"EDIT_CLOSE": "ערוך סגור",
+		"EDIT_DIALOGFLOW": "ערוך את תצורת DialogFlow",
+		"EDIT_GOTOIF": "ערוך את גוטוטיף",
+		"EDIT_GOTOP": "ערוך את Gotop",
+		"EDIT_NOOP": "ערוך Noop",
+		"EDIT_QUEUE": "ערוך תור",
+		"EDIT_SYSTEM": "ערוך מערכת",
+		"EDIT_TAG": "ערוך תג",
+		"EDIT_WHATSAPPACCOUNT": "ערוך את חשבון WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "לַעֲרוֹך",
+		"EDIT_WHATSAPPDISPOSITION": "ערוך את WhatsApp Disposition",
+		"EDIT_WHATSAPPQUEUE": "ערוך תור WhatsApp",
+		"FALSEPRIORITY": "עדיפות שקרית",
+		"GENERAL": "כללי",
+		"GOTOIF": "גוטוטיף",
+		"GOTOP": "לך למעלה",
+		"GOTOREALTIME_WHATSAPPQUEUE": "עבור לתור WhatsApp בזמן אמת",
+		"GO_TO_WHATSAPPACCOUNTS": "עבור לחשבון",
+		"ID": "תְעוּדַת זֶהוּת",
+		"IDLE": "לְהִתְבַּטֵל",
+		"INSERT_MESSAGE_HERE": "הכנס הודעה כאן",
+		"INTERACTIONS": "אינטראקציות",
+		"INTERACTIONS_WHATSAPPACCOUNT": "עבור אל אינטראקציות",
+		"KEY": "מַפְתֵחַ",
+		"LANGUAGE": "שפה",
+		"LASTMESSAGE": "הודעה אחרונה",
+		"LEXREGION": "אזור",
+		"LIST": "רשימה",
+		"LOGGED_IN": "מחובר (SIP מחובר)",
+		"LOGIN_TIME": "זמן כניסה",
+		"LOGOUT": "להתנתק",
+		"MANDATORYDISPOSITION": "התנהגות חובה",
+		"MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש כאשר פעולת התייחסות חובה מופעלת",
+		"MORE": "יותר",
+		"MOTIONPROXY": "פרוקסי או תחום תנועה",
+		"MULTI_SELECT_TOGGLE": "החלפת ריבוי בחירה",
+		"NAME": "שֵׁם",
+		"NEW_WHATSAPPACCOUNT": "חשבון WhatsApp חדש",
+		"NEW_WHATSAPPCANNEDANSWER": "תשובה חדשה של WhatsApp שימורים",
+		"NEW_WHATSAPPDISPOSITION": "ניו WhatsApp Disposition",
+		"NEW_WHATSAPPQUEUE": "תור WhatsApp חדש",
+		"NOOP": "בצהריים",
+		"NOTE": "הערה",
+		"NOTIFICATION": "הוֹדָעָה",
+		"NOTIFICATIONSHAKE": "לְנַעֵר",
+		"NOTIFICATIONSOUND": "נשמע",
+		"NOTIFICATIONTEMPLATE": "תבנית",
+		"NO_AGENT_ONLINE": "אין סוכן מקוון",
+		"NO_AVAILABLE_INFO": "אין מידע זמין",
+		"NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "אין תשובות משומרות WhatsApp זמינות",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "אין זמינות ל- WhatsApp",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "אין חשבונות WhatsApp זמינים",
+		"OF": "שֶׁל",
+		"OPENED": "נפתח",
+		"PAGE": "עמוד",
+		"PARTIALPAUSE": "הפסקה חלקית",
+		"PAUSE": "הַפסָקָה",
+		"PAUSED": "מושהה",
+		"PAUSE_TIME": "זמן הפסקה",
+		"PHONE": "טלפון",
+		"PRIORITY": "עדיפות",
+		"PROXY": "פרוקסי",
+		"QUEUE": "תוֹר",
+		"QUEUES": "תורים",
+		"QUEUETRANSFER": "העברת תור",
+		"QUEUETRANSFERTIMEOUT": "פסק זמן להעברת תורים",
+		"READY": "מוּכָן",
+		"REALTIME": "זמן אמת",
+		"RECEIVEURL": "קבל כתובת אתר",
+		"REFRESH_INTERACTIONS": "רענן אינטראקציות",
+		"REMOTE": "מְרוּחָק",
+		"ROWSPERPAGE": "שורות לעמוד",
+		"SAVE": "לשמור",
+		"SCREENRECORDING": "נהל הקלטת מסך",
+		"SEARCH_FOR_ANYONE": "לחפש",
+		"SECRETACCESSKEY": "גישה לסוד מפתח",
+		"SELECTED": "נבחר",
+		"SELECTED_AGENTS": "סוכנים נבחרים",
+		"SELECTED_TEAMS": "צוותים נבחרים",
+		"SELECT_ALL": "בחר הכל",
+		"SELECT_NONE": "אל תבחר באף אחת מהאפשרויות",
+		"SEND": "לִשְׁלוֹחַ",
+		"SETTINGS": "הגדרות",
+		"SPYINTERACTION": "אינטראקציה מרגלת",
+		"STARTEDAT": "התחיל ב",
+		"START_SCREENRECORDING": "הקלטת מסך התחלה",
+		"STATUS": "סטָטוּס",
+		"STOP_SCREENRECORDING": "עצירת הקלטת מסך",
+		"STRATEGY": "אִסטרָטֶגִיָה",
+		"SYSTEM": "מערכת",
+		"TAG": "תָג",
+		"TAGS": "תגיות",
+		"TEAMADD_WHATSAPPQUEUE": "הוסף צוות לתור WhatsApp",
+		"TEAMS_ASSOCIATION": "איגוד הצוותים",
+		"TEXT": "טֶקסט",
+		"TIMEOUT": "פסק זמן",
+		"TIMER": "שָׁעוֹן עֶצֶר",
+		"TIMES": "פִּי",
+		"TO": "ל",
+		"TOKEN": "אֲסִימוֹן",
+		"TOOLTIP_SCREENRECORDING_OFF": "הקלטת מסך זמינה",
+		"TOOLTIP_SCREENRECORDING_ON": "הקלטת מסך מתבצעת",
+		"TRANSFER": "לְהַעֲבִיר",
+		"TRUEPRIORITY": "עדיפות אמיתית",
+		"TYPE": "סוּג",
+		"UNPAUSE": "סוף הפסקה",
+		"VALUE": "ערך",
+		"VARIABLE": "מִשְׁתַנֶה",
+		"WAITFORTHEASSIGNEDAGENT": "המתן לסוכן שהוקצה",
+		"WAITING": "הַמתָנָה",
+		"WELCOMEMESSAGE": "הודעת ברוך הבא",
+		"WHATSAPP": "מחבר WhatsApp",
+		"WHATSAPPACCOUNTS": "חשבונות WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "תשובות משומרות על WhatsApp",
+		"WHATSAPPDISPOSITIONS": "אפשרויות WhatsApp",
+		"WHATSAPPQUEUES": "תורי WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/hi.json b/public/app/main/apps/whatsapp/i18n/hi.json
new file mode 100644
index 0000000..5e020fb
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/hi.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "आवश्यक स्थान",
+			"ACCOUNTSID_REQUIRED": "आवश्यक स्थान",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
+			"AGENT_REQUIRED": "आवश्यक स्थान",
+			"AGENT_TIMEOUT_REQUIRED": "आवश्यक स्थान",
+			"AUTHTOKEN_REQUIRED": "आवश्यक स्थान",
+			"BOTNAME_REQUIRED": "आवश्यक स्थान",
+			"COMMAND_REQUIRED": "आवश्यक स्थान",
+			"CONDITION_REQUIRED": "आवश्यक स्थान",
+			"DESCRIPTION_REQUIRED": "आवश्यक स्थान",
+			"DISPOSITION_REQUIRED": "आवश्यक स्थान",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
+			"FALSEPRIORITY_REQUIRED": "आवश्यक स्थान",
+			"KEY_MAX_LENGTH": "मान की अधिकतम लंबाई {{अधिकतम}} के बराबर होनी चाहिए",
+			"KEY_REQUIRED": "आवश्यक स्थान",
+			"LANGUAGE_REQUIRED": "मैंडेटरी फील्ड",
+			"LEXREGION_REQUIRED": "आवश्यक स्थान",
+			"LIST_REQUIRED": "आवश्यक स्थान",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान",
+			"NAME_REQUIRED": "आवश्यक स्थान",
+			"PHONE_REQUIRED": "आवश्यक स्थान",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
+			"PRIORITY_REQUIRED": "आवश्यक स्थान",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
+			"QUEUE_REQUIRED": "आवश्यक स्थान",
+			"SECRETACCESSKEY_REQUIRED": "आवश्यक स्थान",
+			"TAG_REQUIRED": "आवश्यक स्थान",
+			"TEXT_REQUIRED": "आवश्यक स्थान",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
+			"TIMEOUT_REQUIRED": "आवश्यक स्थान",
+			"TIMES_REQUIRED": "आवश्यक स्थान",
+			"TOKEN_REQUIRED": "आवश्यक स्थान",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
+			"TRUEPRIORITY_REQUIRED": "आवश्यक स्थान",
+			"TYPE_REQUIRED": "आवश्यक स्थान",
+			"VALUE_REQUIRED": "आवश्यक स्थान",
+			"VARIABLE_REQUIRED": "आवश्यक स्थान",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "आवश्यक स्थान",
+			"WELCOMEMESSAGE_MAX_LENGTH": "मान की अधिकतम लंबाई {{अधिकतम}} के बराबर होनी चाहिए",
+			"WELCOMEMESSAGE_REQUIRED": "आवश्यक स्थान"
+		},
+		"HELP": {
+			"LIST": "कॉन्टैक्ट मैनेजर लिस्ट का इस्तेमाल कॉन्टैक्ट्स को जोड़ने में किया जाता है",
+			"MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
+			"MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्वभाव सक्षम होने पर उपयोग करने के लिए रुकें",
+			"MOTIONPROXY": "फ़ील्ड में निम्न प्रारूप होना चाहिए: <प्रोटोकॉल>: // <ipaddress> [: <port>]। उदाहरण: https: //X.Y.Z.W",
+			"NAME": "केवल संख्याएँ, अक्षर और विशिष्ट वर्ण (._) समर्थित हैं",
+			"RECEIVEURL": "यह स्वतः जनरेट किया गया एपीआई स्ट्रिंग है जिसे आपको अपने व्हाट्सएप कनेक्टर प्रदाता (POST विधि का उपयोग करना होगा) से अपने खाते के अंदर संदेशों को प्राप्त करने के लिए उपयोग करना होगा: इसे कॉपी करने के लिए क्लिपबोर्ड बटन पर क्लिक करें",
+			"WELCOMEMESSAGE": "यह नई प्रतिक्रियाओं के लिए भेजा गया पहला प्रतिक्रिया संदेश है"
+		},
+		"ACCESSKEYID": "एक्सेस की आईडी",
+		"ACCOUNTSID": "खाता एसआईडी",
+		"ACTIONS": "क्रिया",
+		"ADD_NOTE": "नोट जोड़े",
+		"ADD_WHATSAPPACCOUNT": "जोड़ना",
+		"ADD_WHATSAPPCANNEDANSWER": "डिब्बाबंद उत्तर जोड़ें",
+		"ADD_WHATSAPPDISPOSITION": "WhatsApp Disposition जोड़ें",
+		"ADD_WHATSAPPQUEUE": "WhatsApp कतार में जोड़ें",
+		"ADVANCED": "उन्नत",
+		"AGENT": "एजेंट",
+		"AGENTADD_QUEUE": "व्हाट्सएप कतार में एजेंट जोड़ें",
+		"AGENTADD_WHATSAPPACCOUNT": "एजेंट को व्हाट्सएप अकाउंट में जोड़ें",
+		"AGENTADD_WHATSAPPQUEUE": "व्हाट्सएप कतार में एजेंट जोड़ें",
+		"AGENTS": "एजेंटों",
+		"AGENTSADD_QUEUE": "व्हाट्सएप कतार में एजेंटों को जोड़ें",
+		"AGENTTRANSFER": "एजेंट स्थानांतरण",
+		"AGENTTRANSFERTIMEOUT": "एजेंट स्थानांतरण टाइमआउट",
+		"AGENT_TIMEOUT": "एजेंट टाइमआउट",
+		"ALL": "सब",
+		"ALL_AGENTS": "सभी एजेंट",
+		"ALL_TEAMS": "सभी टीमें",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "प्रामाणिक टोकन",
+		"AUTOREPLY": "स्व उत्तर",
+		"BACK": "वापस",
+		"BOTNAME": "बॉट नाम",
+		"BUSY": "व्यस्त",
+		"CANNEDANSWERS": "डिब्बाबंद जवाब",
+		"CANNED_ANSWER_NOT_FOUND": "कोई डिब्बाबंद जवाब नहीं मिला",
+		"CANNED_ANSWER_SEARCH": "डिब्बाबंद उत्तर खोजने के लिए एक पाठ दर्ज करें",
+		"CAPACITY": "क्षमता",
+		"CLOSE": "बंद करे",
+		"CLOSED": "बन्द है",
+		"CLOSEMETHOD": "बंद करने की विधि",
+		"CLOSEURL": "URL बंद करें",
+		"COMMAND": "आदेश",
+		"CONDITION": "स्थिति",
+		"CONTACT": "संपर्क करें",
+		"CREATED_AT": "पर बनाया गया",
+		"DEFAULT_PAUSE": "DEFAULT PAUSE",
+		"DELETE": "हटाएं",
+		"DELETE_INTERACTION": "सहभागिता हटाएं",
+		"DELETE_SELECTED": "चयनित मिटाएं",
+		"DELETE_WHATSAPPACCOUNT": "व्हाट्सएप अकाउंट को डिलीट करें",
+		"DELETE_WHATSAPPCANNEDANSWER": "हटाए गए",
+		"DELETE_WHATSAPPDISPOSITION": "व्हाट्सएप डिस्पोजल को डिलीट करें",
+		"DELETE_WHATSAPPQUEUE": "WhatsApp कतार हटाएं",
+		"DESCRIPTION": "विवरण",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "स्वभाव",
+		"DISPOSITIONS": "फ़ौजी तरतीब",
+		"DOWNLOAD_INTERACTION": "डाउनलोड",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "संलग्नक के बिना डाउनलोड करें",
+		"DOWNLOAD_WITH_ATTACHMENTS": "अनुलग्नकों के साथ डाउनलोड करें",
+		"EDIT_AGENT": "एजेंट को संपादित करें",
+		"EDIT_AMAZONLEX": "लेक्स कॉन्फ़िगरेशन संपादित करें",
+		"EDIT_AUTOREPLY": "ऑटो उत्तर संपादित करें",
+		"EDIT_CLOSE": "बंद करें संपादित करें",
+		"EDIT_DIALOGFLOW": "DialogFlow कॉन्फ़िगरेशन संपादित करें",
+		"EDIT_GOTOIF": "गोटिफ को संपादित करें",
+		"EDIT_GOTOP": "गोटो को संपादित करें",
+		"EDIT_NOOP": "नूप को संपादित करें",
+		"EDIT_QUEUE": "कतार संपादित करें",
+		"EDIT_SYSTEM": "सिस्टम संपादित करें",
+		"EDIT_TAG": "टैग संपादित करें",
+		"EDIT_WHATSAPPACCOUNT": "WhatsApp खाता संपादित करें",
+		"EDIT_WHATSAPPCANNEDANSWER": "संपादित करें",
+		"EDIT_WHATSAPPDISPOSITION": "WhatsApp विवाद को संपादित करें",
+		"EDIT_WHATSAPPQUEUE": "WhatsApp कतार संपादित करें",
+		"FALSEPRIORITY": "झूठी प्राथमिकता",
+		"GENERAL": "सामान्य",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "शीर्ष पर जाना",
+		"GOTOREALTIME_WHATSAPPQUEUE": "रियल टाइम व्हाट्सएप पर जाएं",
+		"GO_TO_WHATSAPPACCOUNTS": "खाते जाओ",
+		"ID": "ईद",
+		"IDLE": "बेकार",
+		"INSERT_MESSAGE_HERE": "यहां मैसेज डालें",
+		"INTERACTIONS": "सहभागिता",
+		"INTERACTIONS_WHATSAPPACCOUNT": "सहभागिता पर जाएं",
+		"KEY": "चाभी",
+		"LANGUAGE": "भाषा: हिन्दी",
+		"LASTMESSAGE": "आखिरी सन्देश",
+		"LEXREGION": "क्षेत्र",
+		"LIST": "सूची",
+		"LOGGED_IN": "लॉग इन (SIP कनेक्टेड)",
+		"LOGIN_TIME": "लॉग इन टाइम",
+		"LOGOUT": "लॉग आउट",
+		"MANDATORYDISPOSITION": "अनिवार्य विवाद",
+		"MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्वभाव सक्षम होने पर उपयोग करने के लिए रुकें",
+		"MORE": "अधिक",
+		"MOTIONPROXY": "प्रॉक्सी या मोशन डोमेन",
+		"MULTI_SELECT_TOGGLE": "मल्टी सिलेक्ट टॉगल",
+		"NAME": "नाम",
+		"NEW_WHATSAPPACCOUNT": "नया व्हाट्सएप अकाउंट",
+		"NEW_WHATSAPPCANNEDANSWER": "नया व्हाट्सएप डिब्बाबंद जवाब",
+		"NEW_WHATSAPPDISPOSITION": "नया व्हाट्सएप डिस्पोजल",
+		"NEW_WHATSAPPQUEUE": "नई WhatsApp कतार",
+		"NOOP": "NOOP",
+		"NOTE": "ध्यान दें",
+		"NOTIFICATION": "अधिसूचना",
+		"NOTIFICATIONSHAKE": "शेक",
+		"NOTIFICATIONSOUND": "ध्वनि",
+		"NOTIFICATIONTEMPLATE": "खाका",
+		"NO_AGENT_ONLINE": "कोई एजेंट ऑनलाइन नहीं",
+		"NO_AVAILABLE_INFO": "कोई उपलब्ध जानकारी नहीं",
+		"NO_INTERACTION_AVAILABLE": "कोई बातचीत उपलब्ध नहीं है",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "कोई व्हाट्सएप डिब्बाबंद जवाब उपलब्ध नहीं",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "कोई व्हाट्सएप डिस्पोजल उपलब्ध नहीं है",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "कोई व्हाट्सएप अकाउंट उपलब्ध नहीं है",
+		"OF": "का",
+		"OPENED": "खुल गया",
+		"PAGE": "पृष्ठ",
+		"PARTIALPAUSE": "आंशिक विराम",
+		"PAUSE": "ठहराव",
+		"PAUSED": "रोके गए",
+		"PAUSE_TIME": "विराम का वक्त",
+		"PHONE": "फ़ोन",
+		"PRIORITY": "प्राथमिकता",
+		"PROXY": "प्रतिनिधि",
+		"QUEUE": "कतार",
+		"QUEUES": "कतार",
+		"QUEUETRANSFER": "कतार स्थानांतरण",
+		"QUEUETRANSFERTIMEOUT": "कतार स्थानांतरण टाइमआउट",
+		"READY": "तैयार",
+		"REALTIME": "रियल टाइम",
+		"RECEIVEURL": "URL प्राप्त करें",
+		"REFRESH_INTERACTIONS": "बातचीत को ताज़ा करें",
+		"REMOTE": "रिमोट",
+		"ROWSPERPAGE": "प्रति पृष्ठ पंक्तियाँ",
+		"SAVE": "सहेजें",
+		"SCREENRECORDING": "स्क्रीन रिकॉर्डिंग की व्यवस्था करें",
+		"SEARCH_FOR_ANYONE": "खोज",
+		"SECRETACCESSKEY": "पहुंच कुंजी रहस्य",
+		"SELECTED": "चुन लिया",
+		"SELECTED_AGENTS": "चयनित एजेंट",
+		"SELECTED_TEAMS": "चयनित टीमें",
+		"SELECT_ALL": "सभी का चयन करे",
+		"SELECT_NONE": "किसी का चयन न करें",
+		"SEND": "संदेश",
+		"SETTINGS": "समायोजन",
+		"SPYINTERACTION": "जासूस बातचीत",
+		"STARTEDAT": "इस समय पर शुरू किया",
+		"START_SCREENRECORDING": "स्क्रीन रिकॉर्डिंग शुरू करें",
+		"STATUS": "स्थिति",
+		"STOP_SCREENRECORDING": "स्क्रीन रिकॉर्डिंग बंद करो",
+		"STRATEGY": "रणनीति",
+		"SYSTEM": "प्रणाली",
+		"TAG": "टैग",
+		"TAGS": "टैग",
+		"TEAMADD_WHATSAPPQUEUE": "व्हाट्सएप कतार में टीम को जोड़ें",
+		"TEAMS_ASSOCIATION": "टीमों एसोसिएशन",
+		"TEXT": "टेक्स्ट",
+		"TIMEOUT": "समय समाप्त",
+		"TIMER": "घड़ी",
+		"TIMES": "टाइम्स",
+		"TO": "सेवा",
+		"TOKEN": "टोकन",
+		"TOOLTIP_SCREENRECORDING_OFF": "स्क्रीन रिकॉर्डिंग उपलब्ध है",
+		"TOOLTIP_SCREENRECORDING_ON": "स्क्रीन रिकॉर्डिंग प्रगति पर है",
+		"TRANSFER": "स्थानांतरण",
+		"TRUEPRIORITY": "सच्ची प्राथमिकता",
+		"TYPE": "प्रकार",
+		"UNPAUSE": "अंतिम विराम",
+		"VALUE": "मूल्य",
+		"VARIABLE": "परिवर्तनशील",
+		"WAITFORTHEASSIGNEDAGENT": "असाइन किए गए एजेंट की प्रतीक्षा करें",
+		"WAITING": "इंतज़ार कर रही",
+		"WELCOMEMESSAGE": "स्वागत संदेश",
+		"WHATSAPP": "WhatsApp कनेक्टर",
+		"WHATSAPPACCOUNTS": "WhatsApp खाते",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp डिब्बाबंद जवाब",
+		"WHATSAPPDISPOSITIONS": "व्हाट्सएप के डिस्पोजल",
+		"WHATSAPPQUEUES": "WhatsApp कतारें"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/id.json b/public/app/main/apps/whatsapp/i18n/id.json
new file mode 100644
index 0000000..97aede1
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/id.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Bidang wajib",
+			"ACCOUNTSID_REQUIRED": "Bidang wajib",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
+			"AGENT_REQUIRED": "Bidang wajib",
+			"AGENT_TIMEOUT_REQUIRED": "Bidang wajib",
+			"AUTHTOKEN_REQUIRED": "Bidang wajib",
+			"BOTNAME_REQUIRED": "Bidang wajib",
+			"COMMAND_REQUIRED": "Bidang wajib",
+			"CONDITION_REQUIRED": "Bidang wajib",
+			"DESCRIPTION_REQUIRED": "Bidang wajib",
+			"DISPOSITION_REQUIRED": "Bidang wajib",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
+			"FALSEPRIORITY_REQUIRED": "Bidang wajib",
+			"KEY_MAX_LENGTH": "Nilai harus memiliki panjang maksimum yang sama dengan {{max}}",
+			"KEY_REQUIRED": "Bidang wajib",
+			"LANGUAGE_REQUIRED": "Bidang Mandtory",
+			"LEXREGION_REQUIRED": "Bidang wajib",
+			"LIST_REQUIRED": "Bidang wajib",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib",
+			"NAME_REQUIRED": "Bidang wajib",
+			"PHONE_REQUIRED": "Bidang wajib",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
+			"PRIORITY_REQUIRED": "Bidang wajib",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
+			"QUEUE_REQUIRED": "Bidang wajib",
+			"SECRETACCESSKEY_REQUIRED": "Bidang wajib",
+			"TAG_REQUIRED": "Bidang wajib",
+			"TEXT_REQUIRED": "Bidang wajib",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
+			"TIMEOUT_REQUIRED": "Bidang wajib",
+			"TIMES_REQUIRED": "Bidang wajib",
+			"TOKEN_REQUIRED": "Bidang wajib",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
+			"TRUEPRIORITY_REQUIRED": "Bidang wajib",
+			"TYPE_REQUIRED": "Bidang wajib",
+			"VALUE_REQUIRED": "Bidang wajib",
+			"VARIABLE_REQUIRED": "Bidang wajib",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Bidang wajib",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Nilai harus memiliki panjang maksimum yang sama dengan {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Bidang wajib"
+		},
+		"HELP": {
+			"LIST": "Daftar Manajer Kontak digunakan untuk mengasosiasikan kontak",
+			"MANDATORYDISPOSITION": "Disposisi wajib",
+			"MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan saat disposisi wajib diaktifkan",
+			"MOTIONPROXY": "Bidang harus memiliki format berikut: <protocol>: // <ipaddress> [: <port>]. Contoh: https: //X.Y.Z.W",
+			"NAME": "Hanya angka, huruf dan karakter tertentu (._) yang didukung",
+			"RECEIVEURL": "Ini adalah string API yang dibuat secara otomatis yang perlu Anda gunakan untuk menerima pesan di dalam akun Anda dari penyedia WhatsApp Connector Anda (metode POST harus digunakan): klik tombol clipboard untuk menyalinnya",
+			"WELCOMEMESSAGE": "Ini adalah pesan tanggapan pertama yang dikirim ke interaksi baru"
+		},
+		"ACCESSKEYID": "Access Key ID",
+		"ACCOUNTSID": "Akun SID",
+		"ACTIONS": "Tindakan",
+		"ADD_NOTE": "Menambahkan catatan",
+		"ADD_WHATSAPPACCOUNT": "Menambahkan",
+		"ADD_WHATSAPPCANNEDANSWER": "Tambahkan Jawaban Kalengan",
+		"ADD_WHATSAPPDISPOSITION": "Tambahkan WhatsApp Disposition",
+		"ADD_WHATSAPPQUEUE": "Tambahkan antrean WhatsApp",
+		"ADVANCED": "Maju",
+		"AGENT": "Agen",
+		"AGENTADD_QUEUE": "Tambahkan Agen Ke Antrean WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Tambahkan Agen Ke Akun WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Tambahkan Agen Ke Antrean WhatsApp",
+		"AGENTS": "Agen",
+		"AGENTSADD_QUEUE": "Tambahkan agen ke antrean WhatsApp",
+		"AGENTTRANSFER": "Transfer Agen",
+		"AGENTTRANSFERTIMEOUT": "Batas Waktu Transfer Agen",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"ALL": "Semua",
+		"ALL_AGENTS": "Semua Agen",
+		"ALL_TEAMS": "Semua Tim",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Token Auth",
+		"AUTOREPLY": "Balas Otomatis",
+		"BACK": "Kembali",
+		"BOTNAME": "Nama Bot",
+		"BUSY": "Sibuk",
+		"CANNEDANSWERS": "Jawaban Kalengan",
+		"CANNED_ANSWER_NOT_FOUND": "Tidak ada Jawaban Kalengan ditemukan",
+		"CANNED_ANSWER_SEARCH": "Masukkan teks untuk mencari Jawaban Kalengan",
+		"CAPACITY": "Kapasitas",
+		"CLOSE": "Menutup",
+		"CLOSED": "Tutup",
+		"CLOSEMETHOD": "Metode Tutup",
+		"CLOSEURL": "Tutup URL",
+		"COMMAND": "Perintah",
+		"CONDITION": "Kondisi",
+		"CONTACT": "Kontak",
+		"CREATED_AT": "Dibuat di",
+		"DEFAULT_PAUSE": "JEDA DEFAULT",
+		"DELETE": "Menghapus",
+		"DELETE_INTERACTION": "Hapus Interaksi",
+		"DELETE_SELECTED": "Hapus yang dipilih",
+		"DELETE_WHATSAPPACCOUNT": "Hapus Akun WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Dihapus",
+		"DELETE_WHATSAPPDISPOSITION": "Hapus Disposisi WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Hapus Antrean WhatsApp",
+		"DESCRIPTION": "Deskripsi",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Watak",
+		"DISPOSITIONS": "Disposisi",
+		"DOWNLOAD_INTERACTION": "Unduh",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Unduh Tanpa Lampiran",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Unduh Dengan Lampiran",
+		"EDIT_AGENT": "Edit Agen",
+		"EDIT_AMAZONLEX": "Edit konfigurasi Lex",
+		"EDIT_AUTOREPLY": "Edit Balasan Otomatis",
+		"EDIT_CLOSE": "Edit Tutup",
+		"EDIT_DIALOGFLOW": "Edit konfigurasi DialogFlow",
+		"EDIT_GOTOIF": "Edit Gotoif",
+		"EDIT_GOTOP": "Edit Gotop",
+		"EDIT_NOOP": "Edit Noop",
+		"EDIT_QUEUE": "Edit Antrian",
+		"EDIT_SYSTEM": "Edit Sistem",
+		"EDIT_TAG": "Edit Tag",
+		"EDIT_WHATSAPPACCOUNT": "Edit Akun WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "Edit",
+		"EDIT_WHATSAPPDISPOSITION": "Edit Disposisi WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "Edit Antrian WhatsApp",
+		"FALSEPRIORITY": "Prioritas Salah",
+		"GENERAL": "Umum",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Buka Antrean WhatsApp Waktu Nyata",
+		"GO_TO_WHATSAPPACCOUNTS": "Buka Akun",
+		"ID": "Indo",
+		"IDLE": "Diam",
+		"INSERT_MESSAGE_HERE": "Sisipkan pesan di sini",
+		"INTERACTIONS": "Interaksi",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Buka Interaksi",
+		"KEY": "Kunci",
+		"LANGUAGE": "Bahasa",
+		"LASTMESSAGE": "Pesan Terakhir",
+		"LEXREGION": "Wilayah",
+		"LIST": "Daftar",
+		"LOGGED_IN": "Masuk (SIP Terhubung)",
+		"LOGIN_TIME": "Waktu Login",
+		"LOGOUT": "Keluar",
+		"MANDATORYDISPOSITION": "Disposisi Wajib",
+		"MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan saat disposisi wajib diaktifkan",
+		"MORE": "Lebih",
+		"MOTIONPROXY": "Domain Proksi atau Gerakan",
+		"MULTI_SELECT_TOGGLE": "Multi pilih beralih",
+		"NAME": "Nama",
+		"NEW_WHATSAPPACCOUNT": "Akun WhatsApp Baru",
+		"NEW_WHATSAPPCANNEDANSWER": "Jawaban Kalengan WhatsApp Baru",
+		"NEW_WHATSAPPDISPOSITION": "Disposisi WhatsApp Baru",
+		"NEW_WHATSAPPQUEUE": "Antrean WhatsApp Baru",
+		"NOOP": "Noop",
+		"NOTE": "Catatan",
+		"NOTIFICATION": "Pemberitahuan",
+		"NOTIFICATIONSHAKE": "Menggoyang",
+		"NOTIFICATIONSOUND": "Suara",
+		"NOTIFICATIONTEMPLATE": "Template",
+		"NO_AGENT_ONLINE": "Tidak Ada Agen yang Online",
+		"NO_AVAILABLE_INFO": "Tidak Ada Info Tersedia",
+		"NO_INTERACTION_AVAILABLE": "Tidak Ada Interaksi yang Tersedia",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Tidak Ada Jawaban WhatsApp yang Disiapkan",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Tidak Ada Disposisi WhatsApp yang Tersedia",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Tidak ada Akun WhatsApp yang tersedia",
+		"OF": "dari",
+		"OPENED": "Terbuka",
+		"PAGE": "Halaman",
+		"PARTIALPAUSE": "Jeda Parsial",
+		"PAUSE": "Berhenti sebentar",
+		"PAUSED": "Dijeda",
+		"PAUSE_TIME": "Jeda Waktu",
+		"PHONE": "Telepon",
+		"PRIORITY": "Prioritas",
+		"PROXY": "Proksi",
+		"QUEUE": "Antre",
+		"QUEUES": "Antrian",
+		"QUEUETRANSFER": "Transfer Antrian",
+		"QUEUETRANSFERTIMEOUT": "Batas Waktu Transfer Antrian",
+		"READY": "Siap",
+		"REALTIME": "Waktu sebenarnya",
+		"RECEIVEURL": "Terima URL",
+		"REFRESH_INTERACTIONS": "Segarkan Interaksi",
+		"REMOTE": "Terpencil",
+		"ROWSPERPAGE": "Baris per halaman",
+		"SAVE": "Menyimpan",
+		"SCREENRECORDING": "Kelola Perekaman Layar",
+		"SEARCH_FOR_ANYONE": "Cari",
+		"SECRETACCESSKEY": "Akses kunci rahasia",
+		"SELECTED": "Terpilih",
+		"SELECTED_AGENTS": "Agen Pilihan",
+		"SELECTED_TEAMS": "Tim Terpilih",
+		"SELECT_ALL": "Pilih Semua",
+		"SELECT_NONE": "Pilih tidak ada",
+		"SEND": "Kirim",
+		"SETTINGS": "Pengaturan",
+		"SPYINTERACTION": "Interaksi Mata-mata",
+		"STARTEDAT": "Dimulai pada",
+		"START_SCREENRECORDING": "Mulai Perekaman Layar",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Hentikan Perekaman Layar",
+		"STRATEGY": "Strategi",
+		"SYSTEM": "Sistem",
+		"TAG": "Menandai",
+		"TAGS": "Tag",
+		"TEAMADD_WHATSAPPQUEUE": "Tambahkan Tim Ke Antrean WhatsApp",
+		"TEAMS_ASSOCIATION": "Asosiasi Tim",
+		"TEXT": "Teks",
+		"TIMEOUT": "Waktu habis",
+		"TIMER": "Timer",
+		"TIMES": "Waktu",
+		"TO": "Untuk",
+		"TOKEN": "Token",
+		"TOOLTIP_SCREENRECORDING_OFF": "Perekaman Layar tersedia",
+		"TOOLTIP_SCREENRECORDING_ON": "Perekaman Layar sedang berlangsung",
+		"TRANSFER": "Transfer",
+		"TRUEPRIORITY": "Prioritas Sejati",
+		"TYPE": "Tipe",
+		"UNPAUSE": "Akhiri Jeda",
+		"VALUE": "Nilai",
+		"VARIABLE": "Variabel",
+		"WAITFORTHEASSIGNEDAGENT": "Tunggu agen yang ditunjuk",
+		"WAITING": "Menunggu",
+		"WELCOMEMESSAGE": "Pesan Selamat Datang",
+		"WHATSAPP": "Konektor WhatsApp",
+		"WHATSAPPACCOUNTS": "Akun WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "Jawaban WhatsApp Canned",
+		"WHATSAPPDISPOSITIONS": "Disposisi WhatsApp",
+		"WHATSAPPQUEUES": "Antrean WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/it.json b/public/app/main/apps/whatsapp/i18n/it.json
new file mode 100644
index 0000000..f07db86
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/it.json
@@ -0,0 +1,265 @@
+{
+	"WHATSAPP": {
+		"ACCOUNT": "Account",
+		"ACCOUNTSID": "Account SID",
+		"ADD_NOTE": "Add note",
+		"ADD_WHATSAPPQUEUE": "Aggiungi Coda WhatsApp",
+		"AGENT": "Agente",
+		"AGENT_TIMEOUT": "Timeout Agente",
+		"AGENTADD_QUEUE": "Aggiungi agenti alla coda WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Aggiungi Agente alla coda WhatsApp",
+		"AGENTS": "Agenti",
+		"AGENTSADD_QUEUE": "Aggiungi agenti alla coda",
+		"ALL": "Tutte",
+		"ALL_AGENTS": "Tutti gli Agenti",
+		"ALL_TEAMS": "Tutti i Team",
+		"API": "API",
+		"AUTHTOKEN": "Authtoken",
+		"BACK": "Indietro",
+		"BASEURL": "Base URL",
+		"BUSY": "Occupato",
+		"CANNED_ANSWER_NOT_FOUND": "Nessuna risposta precompilata trovata",
+		"CANNED_ANSWER_SEARCH": "Inserire un valore da cercare nelle risposte compilate",
+		"CLOSED": "Chiusa",
+		"CLOSEDAT": "Chiusa il",
+		"CONTACT": "Contatto",
+		"CREATED_AT": "Creato il",
+		"DEFAULT_PAUSE": "Pausa di default",
+		"DELETE": "Elimina",
+		"DELETE_SELECTED": "Calcella selezionati",
+		"DELETE_WHATSAPPQUEUE": "Elimina Coda WhatsApp",
+		"DESCRIPTION": "Descrizione",
+		"EDIT_AGENT": "Modifica Agente",
+		"EDIT_QUEUE": "Modifica coda",
+		"EDIT_WHATSAPPQUEUE": "Modifica Coda WhatsApp",
+		"ERRORS": {
+			"ACCEPTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+			"ACCESSKEYID_REQUIRED": "È richiesto l'ID chiave di accesso",
+			"ACCOUNTSID_REQUIRED": "Campo obbligatorio",
+			"AGENT_REQUIRED": "Campo obbligatorio",
+			"AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+			"AGENT_TIMEOUT_REQUIRED": "Campo obbligatorio",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
+			"APIKEY_REQUIRED": "Campo obbligatorio",
+			"AUTHID_REQUIRED": "Campo Obbligatorio",
+			"AUTHTOKEN_REQUIRED": "Campo obbligatorio",
+			"BASEURL_REQUIRED": "Campo obbligatorio",
+			"BOTNAME_REQUIRED": "È richiesto il nome del bot",
+			"CLOSEURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+			"COMMAND_REQUIRED": "Campo obbligatorio",
+			"CONDITION_REQUIRED": "Campo obbligatorio",
+			"DISPOSITION_REQUIRED": "Campo obbligatorio",
+			"FALSEPRIORITY_REQUIRED": "Campo obbligatorio",
+			"KEY_MAX_LENGTH": "Il valore introdotto non deve essere più lungo di {{max}} caratteri",
+			"KEY_REQUIRED": "Campo obbligatorio",
+			"LIST_REQUIRED": "Campo obbligatorio",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio",
+			"METHOD_REQUIRED": "Campo obbligatorio",
+			"MOTIONADDRESS_MUST_VALID_URL": "Il campo deve avere un formato valido",
+			"MOTIONADDRESS_REQUIRED": "Campo obbligatorio",
+			"MOTIONPROXY_MUST_VALID_URL": "Il campo deve avere un formato valido",
+			"MOTIONPROXY_REQUIRED": "Campo obbligatorio",
+			"NAME_MUST_VALID_PATTERN": "Formato errato",
+			"NAME_REQUIRED": "Campo obbligatorio",
+			"PASSWORD_REQUIRED": "Campo obbligatorio",
+			"PHONE_REQUIRED": "Campo obbligatorio",
+			"PRIORITY_REQUIRED": "Campo obbligatorio",
+			"QUEUE_REQUIRED": "Campo obbligatorio",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
+			"REJECTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+			"SECRETACCESSKEY_REQUIRED": "È richiesto il segreto della chiave di accesso",
+			"SENDERSTRING_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
+			"SENDERSTRING_MUST_VALID_PATTERN": "Il campo deve avere un formato valido",
+			"SID_REQUIRED": "Campo obbligatorio",
+			"TAG_REQUIRED": "Campo obbligatorio",
+			"TEXT_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
+			"TEXT_REQUIRED": "Campo obbligatorio",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+			"TIMEOUT_REQUIRED": "Campo obbligatorio",
+			"TOKEN_REQUIRED": "Campo obbligatorio",
+			"TRUEPRIORITY_REQUIRED": "Campo obbligatorio",
+			"TYPE_REQUIRED": "Campo obbligatorio",
+			"USERNAME_REQUIRED": "Campo obbligatorio",
+			"VALUE_REQUIRED": "Campo Obbligatorio",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obbligatorio",
+			"DESCRIPTION_REQUIRED": "Campo obbligatorio",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"LANGUAGE_REQUIRED": "Mandtory Field",
+			"LEXREGION_REQUIRED": "Campo obbligatorio",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"TIMES_REQUIRED": "Campo obbligatorio",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+			"VARIABLE_REQUIRED": "Campo obbligatorio",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Il valore deve avere una lunghezza massima uguale a {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Campo obbligatorio"
+		},
+		"GENERAL": "Generale",
+		"GOTO": "Goto",
+		"GOTOIF": "Gotoif",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Visualizza la coda in Realtime",
+		"HELP": {
+			"DELIVERYREPORTURL": "Questa è la stringa API generata automaticamente che devi usare per ricevere il rapporto di consegna dei messaggi inviati dal tuo provider WhatsApp (deve essere usato il metodo POST). Clicca sull'icona del blocco note per copiare negli appunti",
+			"LIST": "Lista del Contact Manager usata per associare i contatti",
+			"MANDATORYDISPOSITION": "Disposizione obbligatoria",
+			"MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare quando è abilitata la disposizione obbligatoria",
+			"MOTIONPROXY": "Inserire nel seguente formato: &lt;protocollo&gt;://&lt;indirizzoIP&gt;[:&lt;porta&gt;]. Es: https://X.Y.Z.W",
+			"NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
+			"RECEIVEURL": "Questa è la stringa API generata automaticamente che devi usare per ricevere i messaggi provenienti dal tuo provider WHATSAPP (deve essere usato il metodo POST). Clicca sull'icona del blocco note per copiare negli appunti",
+			"WELCOMEMESSAGE": "Messaggio di benvenuto"
+		},
+		"ID": "Id",
+		"IDLE": "Inattivo",
+		"INFO": "Info",
+		"INSERT_MESSAGE_HERE": "Insert message here",
+		"LANGUAGE": "Lingua",
+		"LASTMESSAGE": "Ultimo messaggio",
+		"LIST": "Lista",
+		"LOGGED_IN": "Connesso",
+		"LOGIN_TIME": "Orario Login",
+		"LOGOUT": "Logout",
+		"MORE": "Ancora",
+		"MOTIONPROXY": "Proxy O Dominio Motion",
+		"MULTI_SELECT_TOGGLE": "Multi select toggle",
+		"NAME": "Nome",
+		"NEW_WHATSAPPQUEUE": "Nuova coda WhatsApp",
+		"NO_AGENT_ONLINE": "Nessun Agente Online",
+		"NO_AVAILABLE_INFO": "Nessuna informazione disponibile",
+		"NO_INTERACTION_AVAILABLE": "Nessuna interazione disponibile",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nessun account WhatsApp disponibile",
+		"OF": "di",
+		"OPEN": "Apri",
+		"OPENED": "Aperto",
+		"PAGE": "Pagina",
+		"PARTIALPAUSE": "Pausa Parziale",
+		"PAUSE": "Pausa",
+		"PAUSE_TIME": "Orario Pausa",
+		"PAUSED": "In pausa",
+		"QUEUE": "Coda",
+		"QUEUES": "Code",
+		"READY": "Pronto",
+		"REALTIME": "Realtime",
+		"ROWSPERPAGE": "Righe per pagina",
+		"SAVE": "Salva",
+		"SCREENRECORDING": "Registrazione dello schermo",
+		"SEARCH_FOR_ANYONE": "Cerca",
+		"SELECT_ALL": "Seleziona tutti",
+		"SELECT_NONE": "Deseleziona tutti",
+		"SELECTED": "Selezionati",
+		"SELECTED_AGENTS": "Gli Agenti selezionati",
+		"SELECTED_TEAMS": "Team selezionati",
+		"SEND": "Invia",
+		"SETTINGS": "Impostazioni",
+		"START_SCREENRECORDING": "Inizia Registrazione dello schermo",
+		"STARTEDAT": "Iniziata il",
+		"STATUS": "Stato",
+		"STOP_SCREENRECORDING": "Ferma Registrazione dello schermo",
+		"STRATEGY": "Strategia",
+		"TEAMADD_WHATSAPPQUEUE": "Aggiungi Team alla coda WhatsApp",
+		"TEAMS_ASSOCIATION": "Associazione Teams",
+		"TIMEOUT": "Timeout",
+		"TO": "A",
+		"TOOLTIP_SCREENRECORDING_OFF": "Tooltip Screenrecording Off",
+		"TOOLTIP_SCREENRECORDING_ON": "Tooltip Screenrecording On",
+		"UNAVAILABLE": "Non disponibile",
+		"UNPAUSE": "Riprendi",
+		"WAITING": "In attesa",
+		"WHATSAPP": "WhatsApp Connector",
+		"WHATSAPPACCOUNTS": "WhatsApp Accounts",
+		"WHATSAPPQUEUES": "Code WhatsApp",
+		"ACCESSKEYID": "ID chiave di accesso",
+		"ACTIONS": "Azioni",
+		"ADD_WHATSAPPACCOUNT": "Inserisci",
+		"ADD_WHATSAPPCANNEDANSWER": "Aggiungi risposta predefinita",
+		"ADD_WHATSAPPDISPOSITION": "Aggiungi la disposizione di WhatsApp",
+		"ADVANCED": "Avanzate",
+		"AGENTADD_WHATSAPPACCOUNT": "Aggiungi agente all'account WhatsApp",
+		"AGENTTRANSFER": "Trasferimento agente",
+		"AGENTTRANSFERTIMEOUT": "Timeout trasferimento agente",
+		"AMAZONLEX": "AmazonLex",
+		"AUTOREPLY": "Risposta automatica",
+		"BOTNAME": "Nome del bot",
+		"CANNEDANSWERS": "Risposte in scatola",
+		"CAPACITY": "Capacità",
+		"CLOSE": "Vicino",
+		"CLOSEMETHOD": "Metodo di chiusura",
+		"CLOSEURL": "Chiudi URL",
+		"COMMAND": "Comando",
+		"CONDITION": "Condizione",
+		"DELETE_INTERACTION": "Elimina interazione",
+		"DELETE_WHATSAPPACCOUNT": "Elimina l'account WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Deleted",
+		"DELETE_WHATSAPPDISPOSITION": "Elimina la disposizione di WhatsApp",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposizione",
+		"DISPOSITIONS": "disposizioni",
+		"DOWNLOAD_INTERACTION": "Scarica",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Scarica senza allegati",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Scarica con allegati",
+		"EDIT_AMAZONLEX": "Modifica la configurazione Lex",
+		"EDIT_AUTOREPLY": "Modifica risposta automatica",
+		"EDIT_CLOSE": "Modifica Chiudi",
+		"EDIT_DIALOGFLOW": "Modifica la configurazione di DialogFlow",
+		"EDIT_GOTOIF": "Modifica Gotoif",
+		"EDIT_GOTOP": "Modifica Gotop",
+		"EDIT_NOOP": "Modifica Noop",
+		"EDIT_SYSTEM": "Modifica sistema",
+		"EDIT_TAG": "Modifica tag",
+		"EDIT_WHATSAPPACCOUNT": "Modifica account WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "modificare",
+		"EDIT_WHATSAPPDISPOSITION": "Modifica la disposizione di WhatsApp",
+		"FALSEPRIORITY": "Priorità falsa",
+		"GOTOP": "Andare in cima",
+		"GO_TO_WHATSAPPACCOUNTS": "Vai all'account",
+		"INTERACTIONS": "interazioni",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Vai a Interazioni",
+		"KEY": "Chiave",
+		"LEXREGION": "Regione",
+		"MANDATORYDISPOSITION": "Disposizione obbligatoria",
+		"MANDATORYDISPOSITIONPAUSEID": "Metti in pausa per utilizzare quando la disposizione obbligatoria è abilitata",
+		"NEW_WHATSAPPACCOUNT": "Nuovo account WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Nuova risposta predefinita di WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Nuova disposizione WhatsApp",
+		"NOOP": "noop",
+		"NOTE": "Nota",
+		"NOTIFICATION": "Notifica",
+		"NOTIFICATIONSHAKE": "Agitare",
+		"NOTIFICATIONSOUND": "Suono",
+		"NOTIFICATIONTEMPLATE": "Modello",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nessuna risposta predefinita di WhatsApp disponibile",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Nessuna disposizione WhatsApp disponibile",
+		"PHONE": "Telefono",
+		"PRIORITY": "Priorità",
+		"PROXY": "delega",
+		"QUEUETRANSFER": "Trasferimento in coda",
+		"QUEUETRANSFERTIMEOUT": "Timeout trasferimento coda",
+		"RECEIVEURL": "Ricevi URL",
+		"REFRESH_INTERACTIONS": "Aggiorna interazioni",
+		"REMOTE": "A distanza",
+		"SECRETACCESSKEY": "Chiave di accesso segreta",
+		"SPYINTERACTION": "Interazione spia",
+		"SYSTEM": "Sistema",
+		"TAG": "Etichetta",
+		"TAGS": "tag",
+		"TEXT": "Testo",
+		"TIMER": "Timer",
+		"TIMES": "Volte",
+		"TOKEN": "Gettone",
+		"TRANSFER": "Trasferimento",
+		"TRUEPRIORITY": "Vera priorità",
+		"TYPE": "genere",
+		"VALUE": "Valore",
+		"VARIABLE": "Variabile",
+		"WAITFORTHEASSIGNEDAGENT": "Attendi l'agente assegnato",
+		"WELCOMEMESSAGE": "Messaggio di benvenuto",
+		"WHATSAPPCANNEDANSWERS": "Risposte predefinite di WhatsApp",
+		"WHATSAPPDISPOSITIONS": "Disposizioni WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/ja.json b/public/app/main/apps/whatsapp/i18n/ja.json
new file mode 100644
index 0000000..81fbcae
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/ja.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "必須フィールド",
+			"ACCOUNTSID_REQUIRED": "必須フィールド",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "必須フィールド",
+			"AGENT_REQUIRED": "必須フィールド",
+			"AGENT_TIMEOUT_REQUIRED": "必須フィールド",
+			"AUTHTOKEN_REQUIRED": "必須フィールド",
+			"BOTNAME_REQUIRED": "必須フィールド",
+			"COMMAND_REQUIRED": "必須フィールド",
+			"CONDITION_REQUIRED": "必須フィールド",
+			"DESCRIPTION_REQUIRED": "必須フィールド",
+			"DISPOSITION_REQUIRED": "必須フィールド",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
+			"FALSEPRIORITY_REQUIRED": "必須フィールド",
+			"KEY_MAX_LENGTH": "値の最大長は{{max}}でなければなりません",
+			"KEY_REQUIRED": "必須フィールド",
+			"LANGUAGE_REQUIRED": "必須フィールド",
+			"LEXREGION_REQUIRED": "必須フィールド",
+			"LIST_REQUIRED": "必須フィールド",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド",
+			"NAME_REQUIRED": "必須フィールド",
+			"PHONE_REQUIRED": "必須フィールド",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
+			"PRIORITY_REQUIRED": "必須フィールド",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "必須フィールド",
+			"QUEUE_REQUIRED": "必須フィールド",
+			"SECRETACCESSKEY_REQUIRED": "必須フィールド",
+			"TAG_REQUIRED": "必須フィールド",
+			"TEXT_REQUIRED": "必須フィールド",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
+			"TIMEOUT_REQUIRED": "必須フィールド",
+			"TIMES_REQUIRED": "必須フィールド",
+			"TOKEN_REQUIRED": "必須フィールド",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
+			"TRUEPRIORITY_REQUIRED": "必須フィールド",
+			"TYPE_REQUIRED": "必須フィールド",
+			"VALUE_REQUIRED": "必須フィールド",
+			"VARIABLE_REQUIRED": "必須フィールド",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "必須フィールド",
+			"WELCOMEMESSAGE_MAX_LENGTH": "値の最大長は{{max}}でなければなりません",
+			"WELCOMEMESSAGE_REQUIRED": "必須フィールド"
+		},
+		"HELP": {
+			"LIST": "連絡先を関連付けるために使用される連絡先管理者リスト",
+			"MANDATORYDISPOSITION": "強制処分",
+			"MANDATORYDISPOSITIONPAUSEID": "必須の後処理が有効な場合に使用を一時停止します",
+			"MOTIONPROXY": "フィールドの形式は、<プロトコル>：// <IPアドレス> [：<ポート>]である必要があります。例：https：//X.Y.Z.W",
+			"NAME": "数字、文字、特定の文字（._）のみがサポートされています",
+			"RECEIVEURL": "これは、WhatsAppコネクタプロバイダーからアカウント内のメッセージを受信するために使用する必要がある自動生成されたAPI文字列です（POSTメソッドを使用する必要があります）：クリップボードボタンをクリックしてコピーします",
+			"WELCOMEMESSAGE": "これは、新しいインタラクションに送信される最初の応答メッセージです"
+		},
+		"ACCESSKEYID": "アクセスキーID",
+		"ACCOUNTSID": "アカウントSID",
+		"ACTIONS": "行動",
+		"ADD_NOTE": "メモを追加",
+		"ADD_WHATSAPPACCOUNT": "追加",
+		"ADD_WHATSAPPCANNEDANSWER": "返信定型文を追加",
+		"ADD_WHATSAPPDISPOSITION": "WhatsAppディスポジションの追加",
+		"ADD_WHATSAPPQUEUE": "WhatsAppキューを追加",
+		"ADVANCED": "高度な",
+		"AGENT": "エージェント",
+		"AGENTADD_QUEUE": "WhatsAppキューへのエージェントの追加",
+		"AGENTADD_WHATSAPPACCOUNT": "WhatsAppアカウントにエージェントを追加",
+		"AGENTADD_WHATSAPPQUEUE": "WhatsAppキューへのエージェントの追加",
+		"AGENTS": "エージェント",
+		"AGENTSADD_QUEUE": "WhatsAppキューへのエージェントの追加",
+		"AGENTTRANSFER": "エージェントの転送",
+		"AGENTTRANSFERTIMEOUT": "エージェント転送タイムアウト",
+		"AGENT_TIMEOUT": "エージェントのタイムアウト",
+		"ALL": "すべて",
+		"ALL_AGENTS": "すべてのエージェント",
+		"ALL_TEAMS": "全チーム",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "認証トークン",
+		"AUTOREPLY": "自動返信",
+		"BACK": "バック",
+		"BOTNAME": "ボット名",
+		"BUSY": "忙しい",
+		"CANNEDANSWERS": "缶詰の答え",
+		"CANNED_ANSWER_NOT_FOUND": "缶詰の答えは見つかりませんでした",
+		"CANNED_ANSWER_SEARCH": "返信定型文を検索するにはテキストを入力してください",
+		"CAPACITY": "容量",
+		"CLOSE": "閉じる",
+		"CLOSED": "閉まっている",
+		"CLOSEMETHOD": "Closeメソッド",
+		"CLOSEURL": "URLを閉じる",
+		"COMMAND": "コマンド",
+		"CONDITION": "状態",
+		"CONTACT": "連絡先",
+		"CREATED_AT": "で作成",
+		"DEFAULT_PAUSE": "デフォルトの一時停止",
+		"DELETE": "削除する",
+		"DELETE_INTERACTION": "インタラクションを削除",
+		"DELETE_SELECTED": "選択を削除します",
+		"DELETE_WHATSAPPACCOUNT": "WhatsAppアカウントを削除",
+		"DELETE_WHATSAPPCANNEDANSWER": "削除しました",
+		"DELETE_WHATSAPPDISPOSITION": "WhatsAppディスポジションの削除",
+		"DELETE_WHATSAPPQUEUE": "WhatsAppキューの削除",
+		"DESCRIPTION": "説明",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "配置",
+		"DISPOSITIONS": "処分",
+		"DOWNLOAD_INTERACTION": "ダウンロード",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "添付ファイルなしでダウンロード",
+		"DOWNLOAD_WITH_ATTACHMENTS": "添付ファイル付きでダウンロード",
+		"EDIT_AGENT": "エージェントを編集",
+		"EDIT_AMAZONLEX": "Lex構成を編集する",
+		"EDIT_AUTOREPLY": "自動返信を編集",
+		"EDIT_CLOSE": "閉じるを編集",
+		"EDIT_DIALOGFLOW": "DialogFlow構成の編集",
+		"EDIT_GOTOIF": "Gotoifを編集",
+		"EDIT_GOTOP": "Gotopを編集",
+		"EDIT_NOOP": "Noopを編集",
+		"EDIT_QUEUE": "キューを編集",
+		"EDIT_SYSTEM": "システムを編集",
+		"EDIT_TAG": "タグを編集",
+		"EDIT_WHATSAPPACCOUNT": "WhatsAppアカウントの編集",
+		"EDIT_WHATSAPPCANNEDANSWER": "編集する",
+		"EDIT_WHATSAPPDISPOSITION": "WhatsAppディスポジションの編集",
+		"EDIT_WHATSAPPQUEUE": "WhatsAppキューの編集",
+		"FALSEPRIORITY": "偽の優先順位",
+		"GENERAL": "一般的な",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "上に行きます",
+		"GOTOREALTIME_WHATSAPPQUEUE": "リアルタイムWhatsAppキューに移動",
+		"GO_TO_WHATSAPPACCOUNTS": "アカウントに移動",
+		"ID": "Id",
+		"IDLE": "アイドル",
+		"INSERT_MESSAGE_HERE": "ここにメッセージを挿入",
+		"INTERACTIONS": "相互作用",
+		"INTERACTIONS_WHATSAPPACCOUNT": "インタラクションに移動",
+		"KEY": "キー",
+		"LANGUAGE": "言語",
+		"LASTMESSAGE": "最後のメッセージ",
+		"LEXREGION": "領域",
+		"LIST": "リスト",
+		"LOGGED_IN": "ログイン済み（SIP接続済み）",
+		"LOGIN_TIME": "ログイン時間",
+		"LOGOUT": "ログアウト",
+		"MANDATORYDISPOSITION": "強制処分",
+		"MANDATORYDISPOSITIONPAUSEID": "必須の後処理が有効な場合に使用を一時停止します",
+		"MORE": "もっと",
+		"MOTIONPROXY": "プロキシまたはモーションドメイン",
+		"MULTI_SELECT_TOGGLE": "複数選択トグル",
+		"NAME": "名前",
+		"NEW_WHATSAPPACCOUNT": "新しいWhatsAppアカウント",
+		"NEW_WHATSAPPCANNEDANSWER": "新しいWhatsAppの返信定型文",
+		"NEW_WHATSAPPDISPOSITION": "新しいWhatsAppの処理",
+		"NEW_WHATSAPPQUEUE": "新しいWhatsAppキュー",
+		"NOOP": "いいえ",
+		"NOTE": "注意",
+		"NOTIFICATION": "通知",
+		"NOTIFICATIONSHAKE": "シェイク",
+		"NOTIFICATIONSOUND": "音",
+		"NOTIFICATIONTEMPLATE": "テンプレート",
+		"NO_AGENT_ONLINE": "オンラインのエージェントなし",
+		"NO_AVAILABLE_INFO": "利用可能な情報がありません",
+		"NO_INTERACTION_AVAILABLE": "相互作用はありません",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsAppの定型回答はありません",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "WhatsAppの処理は利用できません",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "利用可能なWhatsAppアカウントはありません",
+		"OF": "の",
+		"OPENED": "開いた",
+		"PAGE": "ページ",
+		"PARTIALPAUSE": "部分的に一時停止",
+		"PAUSE": "一時停止",
+		"PAUSED": "一時停止",
+		"PAUSE_TIME": "一時停止時間",
+		"PHONE": "電話",
+		"PRIORITY": "優先",
+		"PROXY": "代理",
+		"QUEUE": "キュー",
+		"QUEUES": "キュー",
+		"QUEUETRANSFER": "キュー転送",
+		"QUEUETRANSFERTIMEOUT": "キュー転送タイムアウト",
+		"READY": "準備ができて",
+		"REALTIME": "リアルタイム",
+		"RECEIVEURL": "受信URL",
+		"REFRESH_INTERACTIONS": "インタラクションの更新",
+		"REMOTE": "リモート",
+		"ROWSPERPAGE": "ページあたりの行数",
+		"SAVE": "保存する",
+		"SCREENRECORDING": "画面記録を管理する",
+		"SEARCH_FOR_ANYONE": "探す",
+		"SECRETACCESSKEY": "アクセスキーシークレット",
+		"SELECTED": "選択済み",
+		"SELECTED_AGENTS": "選択されたエージェント",
+		"SELECTED_TEAMS": "選択されたチーム",
+		"SELECT_ALL": "すべて選択",
+		"SELECT_NONE": "何も選択しない",
+		"SEND": "送る",
+		"SETTINGS": "設定",
+		"SPYINTERACTION": "スパイの相互作用",
+		"STARTEDAT": "開始",
+		"START_SCREENRECORDING": "画面記録を開始",
+		"STATUS": "状態",
+		"STOP_SCREENRECORDING": "画面記録を停止",
+		"STRATEGY": "戦略",
+		"SYSTEM": "システム",
+		"TAG": "鬼ごっこ",
+		"TAGS": "タグ",
+		"TEAMADD_WHATSAPPQUEUE": "WhatsAppキューにチームを追加",
+		"TEAMS_ASSOCIATION": "チーム協会",
+		"TEXT": "テキスト",
+		"TIMEOUT": "タイムアウト",
+		"TIMER": "タイマー",
+		"TIMES": "タイムズ",
+		"TO": "に",
+		"TOKEN": "トークン",
+		"TOOLTIP_SCREENRECORDING_OFF": "利用可能な画面記録",
+		"TOOLTIP_SCREENRECORDING_ON": "画面記録中",
+		"TRANSFER": "転送",
+		"TRUEPRIORITY": "真の優先順位",
+		"TYPE": "タイプ",
+		"UNPAUSE": "一時停止を終了",
+		"VALUE": "値",
+		"VARIABLE": "変数",
+		"WAITFORTHEASSIGNEDAGENT": "割り当てられたエージェントを待つ",
+		"WAITING": "待っています",
+		"WELCOMEMESSAGE": "ウェルカムメッセージ",
+		"WHATSAPP": "WhatsAppコネクタ",
+		"WHATSAPPACCOUNTS": "WhatsAppアカウント",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp缶詰の答え",
+		"WHATSAPPDISPOSITIONS": "WhatsAppの処理",
+		"WHATSAPPQUEUES": "WhatsAppキュー"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/ko.json b/public/app/main/apps/whatsapp/i18n/ko.json
new file mode 100644
index 0000000..eba026c
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/ko.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "필수 필드",
+			"ACCOUNTSID_REQUIRED": "필수 필드",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "필수 필드",
+			"AGENT_REQUIRED": "필수 필드",
+			"AGENT_TIMEOUT_REQUIRED": "필수 필드",
+			"AUTHTOKEN_REQUIRED": "필수 필드",
+			"BOTNAME_REQUIRED": "필수 필드",
+			"COMMAND_REQUIRED": "필수 필드",
+			"CONDITION_REQUIRED": "필수 필드",
+			"DESCRIPTION_REQUIRED": "필수 필드",
+			"DISPOSITION_REQUIRED": "필수 필드",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+			"FALSEPRIORITY_REQUIRED": "필수 필드",
+			"KEY_MAX_LENGTH": "값의 최대 길이는 {{max}}와 같아야합니다.",
+			"KEY_REQUIRED": "필수 필드",
+			"LANGUAGE_REQUIRED": "맨 토리 필드",
+			"LEXREGION_REQUIRED": "필수 필드",
+			"LIST_REQUIRED": "필수 필드",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드",
+			"NAME_REQUIRED": "필수 필드",
+			"PHONE_REQUIRED": "필수 필드",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+			"PRIORITY_REQUIRED": "필수 필드",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "필수 필드",
+			"QUEUE_REQUIRED": "필수 필드",
+			"SECRETACCESSKEY_REQUIRED": "필수 필드",
+			"TAG_REQUIRED": "필수 필드",
+			"TEXT_REQUIRED": "필수 필드",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
+			"TIMEOUT_REQUIRED": "필수 필드",
+			"TIMES_REQUIRED": "필수 필드",
+			"TOKEN_REQUIRED": "필수 필드",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+			"TRUEPRIORITY_REQUIRED": "필수 필드",
+			"TYPE_REQUIRED": "필수 필드",
+			"VALUE_REQUIRED": "필수 필드",
+			"VARIABLE_REQUIRED": "필수 필드",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "필수 필드",
+			"WELCOMEMESSAGE_MAX_LENGTH": "값의 최대 길이는 {{max}}와 같아야합니다.",
+			"WELCOMEMESSAGE_REQUIRED": "필수 필드"
+		},
+		"HELP": {
+			"LIST": "연락처를 연결하는 데 사용되는 연락처 관리자 목록",
+			"MANDATORYDISPOSITION": "필수 처분",
+			"MANDATORYDISPOSITIONPAUSEID": "필수 처리가 활성화 된 경우 사용을 일시 중지합니다.",
+			"MOTIONPROXY": "필드 형식은 <protocol> : // <ipaddress> [: <port>] 여야합니다. 예 : https : //X.Y.Z.W",
+			"NAME": "숫자, 문자 및 특정 문자 (._) 만 지원됩니다.",
+			"RECEIVEURL": "WhatsApp Connector 공급자로부터 계정 내 메시지를 수신하는 데 사용해야하는 자동 생성 API 문자열입니다 (POST 방법을 사용해야 함) : 클립 보드 버튼을 클릭하여 복사합니다.",
+			"WELCOMEMESSAGE": "새 상호 작용에 전송 된 첫 번째 응답 메시지입니다."
+		},
+		"ACCESSKEYID": "액세스 키 ID",
+		"ACCOUNTSID": "계정 SID",
+		"ACTIONS": "행위",
+		"ADD_NOTE": "메모를 추가",
+		"ADD_WHATSAPPACCOUNT": "더하다",
+		"ADD_WHATSAPPCANNEDANSWER": "미리 준비된 답변 추가",
+		"ADD_WHATSAPPDISPOSITION": "WhatsApp 처리 추가",
+		"ADD_WHATSAPPQUEUE": "WhatsApp 대기열 추가",
+		"ADVANCED": "많은",
+		"AGENT": "에이전트",
+		"AGENTADD_QUEUE": "WhatsApp 대기열에 에이전트 추가",
+		"AGENTADD_WHATSAPPACCOUNT": "WhatsApp 계정에 에이전트 추가",
+		"AGENTADD_WHATSAPPQUEUE": "WhatsApp 대기열에 에이전트 추가",
+		"AGENTS": "자치령 대표",
+		"AGENTSADD_QUEUE": "WhatsApp 대기열에 상담원 추가",
+		"AGENTTRANSFER": "에이전트 전달",
+		"AGENTTRANSFERTIMEOUT": "상담원 전달 시간 초과",
+		"AGENT_TIMEOUT": "에이전트 시간 초과",
+		"ALL": "모두",
+		"ALL_AGENTS": "모든 에이전트",
+		"ALL_TEAMS": "모든 팀",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "인증 토큰",
+		"AUTOREPLY": "자동 회신",
+		"BACK": "뒤",
+		"BOTNAME": "봇 이름",
+		"BUSY": "바쁜",
+		"CANNEDANSWERS": "미리 준비된 답변",
+		"CANNED_ANSWER_NOT_FOUND": "미리 준비된 답변이 없습니다.",
+		"CANNED_ANSWER_SEARCH": "미리 준비된 답변을 검색하려면 텍스트를 입력하세요.",
+		"CAPACITY": "생산 능력",
+		"CLOSE": "닫기",
+		"CLOSED": "닫은",
+		"CLOSEMETHOD": "닫기 방법",
+		"CLOSEURL": "닫기 URL",
+		"COMMAND": "명령",
+		"CONDITION": "질환",
+		"CONTACT": "접촉",
+		"CREATED_AT": "만든 날짜",
+		"DEFAULT_PAUSE": "기본 일시 중지",
+		"DELETE": "지우다",
+		"DELETE_INTERACTION": "상호 작용 삭제",
+		"DELETE_SELECTED": "선택된 것을 지워 라",
+		"DELETE_WHATSAPPACCOUNT": "WhatsApp 계정 삭제",
+		"DELETE_WHATSAPPCANNEDANSWER": "삭제",
+		"DELETE_WHATSAPPDISPOSITION": "WhatsApp 처리 삭제",
+		"DELETE_WHATSAPPQUEUE": "WhatsApp 대기열 삭제",
+		"DESCRIPTION": "기술",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "처분",
+		"DISPOSITIONS": "처분",
+		"DOWNLOAD_INTERACTION": "다운로드",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "첨부 파일없이 다운로드",
+		"DOWNLOAD_WITH_ATTACHMENTS": "첨부 파일과 함께 다운로드",
+		"EDIT_AGENT": "에이전트 편집",
+		"EDIT_AMAZONLEX": "Lex 구성 편집",
+		"EDIT_AUTOREPLY": "자동 회신 편집",
+		"EDIT_CLOSE": "편집 닫기",
+		"EDIT_DIALOGFLOW": "DialogFlow 구성 수정",
+		"EDIT_GOTOIF": "Gotoif 편집",
+		"EDIT_GOTOP": "Gotop 편집",
+		"EDIT_NOOP": "Noop 수정",
+		"EDIT_QUEUE": "대기열 편집",
+		"EDIT_SYSTEM": "시스템 편집",
+		"EDIT_TAG": "태그 편집",
+		"EDIT_WHATSAPPACCOUNT": "WhatsApp 계정 편집",
+		"EDIT_WHATSAPPCANNEDANSWER": "편집하다",
+		"EDIT_WHATSAPPDISPOSITION": "WhatsApp 처리 편집",
+		"EDIT_WHATSAPPQUEUE": "WhatsApp 대기열 편집",
+		"FALSEPRIORITY": "잘못된 우선 순위",
+		"GENERAL": "일반",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "정상으로 가다",
+		"GOTOREALTIME_WHATSAPPQUEUE": "실시간 WhatsApp 대기열로 이동",
+		"GO_TO_WHATSAPPACCOUNTS": "계정으로 이동",
+		"ID": "신분증",
+		"IDLE": "게으른",
+		"INSERT_MESSAGE_HERE": "여기에 메시지 삽입",
+		"INTERACTIONS": "상호 작용",
+		"INTERACTIONS_WHATSAPPACCOUNT": "상호 작용으로 이동",
+		"KEY": "키",
+		"LANGUAGE": "언어",
+		"LASTMESSAGE": "마지막 메시지",
+		"LEXREGION": "부위",
+		"LIST": "명부",
+		"LOGGED_IN": "로그인 됨 (SIP 연결됨)",
+		"LOGIN_TIME": "로그인 시간",
+		"LOGOUT": "로그 아웃",
+		"MANDATORYDISPOSITION": "필수 처분",
+		"MANDATORYDISPOSITIONPAUSEID": "필수 처리가 활성화 된 경우 사용을 일시 중지합니다.",
+		"MORE": "더",
+		"MOTIONPROXY": "프록시 또는 모션 도메인",
+		"MULTI_SELECT_TOGGLE": "다중 선택 토글",
+		"NAME": "이름",
+		"NEW_WHATSAPPACCOUNT": "새 WhatsApp 계정",
+		"NEW_WHATSAPPCANNEDANSWER": "새로운 WhatsApp 미리 준비된 답변",
+		"NEW_WHATSAPPDISPOSITION": "새로운 WhatsApp 처리",
+		"NEW_WHATSAPPQUEUE": "새로운 WhatsApp 대기열",
+		"NOOP": "안돼",
+		"NOTE": "노트",
+		"NOTIFICATION": "공고",
+		"NOTIFICATIONSHAKE": "떨림",
+		"NOTIFICATIONSOUND": "소리",
+		"NOTIFICATIONTEMPLATE": "주형",
+		"NO_AGENT_ONLINE": "온라인 상담원 없음",
+		"NO_AVAILABLE_INFO": "사용 가능한 정보 없음",
+		"NO_INTERACTION_AVAILABLE": "사용 가능한 상호 작용 없음",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsApp 미리 준비된 답변 없음",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "사용 가능한 WhatsApp 처리 없음",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "사용 가능한 WhatsApp 계정이 없습니다.",
+		"OF": "의",
+		"OPENED": "개장",
+		"PAGE": "페이지",
+		"PARTIALPAUSE": "부분 일시 중지",
+		"PAUSE": "중지",
+		"PAUSED": "일시 중지됨",
+		"PAUSE_TIME": "일시 중지 시간",
+		"PHONE": "전화",
+		"PRIORITY": "우선 순위",
+		"PROXY": "대리",
+		"QUEUE": "열",
+		"QUEUES": "대기열",
+		"QUEUETRANSFER": "대기열 전송",
+		"QUEUETRANSFERTIMEOUT": "대기열 전송 시간 초과",
+		"READY": "준비된",
+		"REALTIME": "실시간",
+		"RECEIVEURL": "수신 URL",
+		"REFRESH_INTERACTIONS": "상호 작용 새로 고침",
+		"REMOTE": "먼",
+		"ROWSPERPAGE": "페이지 당 행",
+		"SAVE": "저장",
+		"SCREENRECORDING": "화면 녹화 관리",
+		"SEARCH_FOR_ANYONE": "검색",
+		"SECRETACCESSKEY": "액세스 키 비밀",
+		"SELECTED": "선택된",
+		"SELECTED_AGENTS": "선택된 에이전트",
+		"SELECTED_TEAMS": "선택된 팀",
+		"SELECT_ALL": "모두 선택",
+		"SELECT_NONE": "선택 안함",
+		"SEND": "보내다",
+		"SETTINGS": "설정",
+		"SPYINTERACTION": "스파이 상호 작용",
+		"STARTEDAT": "시작일",
+		"START_SCREENRECORDING": "화면 녹화 시작",
+		"STATUS": "상태",
+		"STOP_SCREENRECORDING": "화면 녹화 중지",
+		"STRATEGY": "전략",
+		"SYSTEM": "체계",
+		"TAG": "꼬리표",
+		"TAGS": "태그",
+		"TEAMADD_WHATSAPPQUEUE": "WhatsApp 대기열에 팀 추가",
+		"TEAMS_ASSOCIATION": "팀 협회",
+		"TEXT": "본문",
+		"TIMEOUT": "타임 아웃",
+		"TIMER": "시간제 노동자",
+		"TIMES": "타임스",
+		"TO": "에",
+		"TOKEN": "토큰",
+		"TOOLTIP_SCREENRECORDING_OFF": "화면 녹화 가능",
+		"TOOLTIP_SCREENRECORDING_ON": "화면 녹화 중",
+		"TRANSFER": "이전",
+		"TRUEPRIORITY": "진정한 우선 순위",
+		"TYPE": "유형",
+		"UNPAUSE": "일시 중지 종료",
+		"VALUE": "값",
+		"VARIABLE": "변하기 쉬운",
+		"WAITFORTHEASSIGNEDAGENT": "할당 된 에이전트를 기다립니다.",
+		"WAITING": "기다리는",
+		"WELCOMEMESSAGE": "환영 메시지",
+		"WHATSAPP": "WhatsApp 커넥터",
+		"WHATSAPPACCOUNTS": "WhatsApp 계정",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp 미리 준비된 답변",
+		"WHATSAPPDISPOSITIONS": "WhatsApp 처리",
+		"WHATSAPPQUEUES": "WhatsApp 대기열"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/lt.json b/public/app/main/apps/whatsapp/i18n/lt.json
new file mode 100644
index 0000000..4bc2cfb
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/lt.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Privalomas laukas",
+			"ACCOUNTSID_REQUIRED": "Privalomas laukas",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
+			"AGENT_REQUIRED": "Privalomas laukas",
+			"AGENT_TIMEOUT_REQUIRED": "Privalomas laukas",
+			"AUTHTOKEN_REQUIRED": "Privalomas laukas",
+			"BOTNAME_REQUIRED": "Privalomas laukas",
+			"COMMAND_REQUIRED": "Privalomas laukas",
+			"CONDITION_REQUIRED": "Privalomas laukas",
+			"DESCRIPTION_REQUIRED": "Privalomas laukas",
+			"DISPOSITION_REQUIRED": "Privalomas laukas",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
+			"FALSEPRIORITY_REQUIRED": "Privalomas laukas",
+			"KEY_MAX_LENGTH": "Vertės maksimalus ilgis turi būti lygus {{max}}",
+			"KEY_REQUIRED": "Privalomas laukas",
+			"LANGUAGE_REQUIRED": "Privalomas laukas",
+			"LEXREGION_REQUIRED": "Privalomas laukas",
+			"LIST_REQUIRED": "Privalomas laukas",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas",
+			"NAME_REQUIRED": "Privalomas laukas",
+			"PHONE_REQUIRED": "Privalomas laukas",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
+			"PRIORITY_REQUIRED": "Privalomas laukas",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
+			"QUEUE_REQUIRED": "Privalomas laukas",
+			"SECRETACCESSKEY_REQUIRED": "Privalomas laukas",
+			"TAG_REQUIRED": "Privalomas laukas",
+			"TEXT_REQUIRED": "Privalomas laukas",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
+			"TIMEOUT_REQUIRED": "Privalomas laukas",
+			"TIMES_REQUIRED": "Privalomas laukas",
+			"TOKEN_REQUIRED": "Privalomas laukas",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
+			"TRUEPRIORITY_REQUIRED": "Privalomas laukas",
+			"TYPE_REQUIRED": "Privalomas laukas",
+			"VALUE_REQUIRED": "Privalomas laukas",
+			"VARIABLE_REQUIRED": "Privalomas laukas",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Privalomas laukas",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Vertės maksimalus ilgis turi būti lygus {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Privalomas laukas"
+		},
+		"HELP": {
+			"LIST": "Kontaktų tvarkyklės sąrašas, naudojamas kontaktams susieti",
+			"MANDATORYDISPOSITION": "Privalomas nusistatymas",
+			"MANDATORYDISPOSITIONPAUSEID": "Pauzė naudoti, kai įjungtas privalomas disponavimas",
+			"MOTIONPROXY": "Laukas turi būti tokio formato: <protokolas>: // <adresų adresas> [: <portas]. Pavyzdys: https: //X.Y.Z.W",
+			"NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
+			"RECEIVEURL": "Tai yra automatiškai sugeneruota API eilutė, kurią turite naudoti, norėdami gauti pranešimus savo sąskaitoje iš „WhatsApp Connector“ teikėjo (reikia naudoti POST metodą): spustelėkite nukopijuokite mygtuką, kad nukopijuotumėte",
+			"WELCOMEMESSAGE": "Tai yra pirmasis atsakymo pranešimas, išsiųstas į naujas sąveikas"
+		},
+		"ACCESSKEYID": "Prieigos rakto ID",
+		"ACCOUNTSID": "Sąskaitos SID",
+		"ACTIONS": "Veiksmai",
+		"ADD_NOTE": "Pridėti pastabą",
+		"ADD_WHATSAPPACCOUNT": "Papildyti",
+		"ADD_WHATSAPPCANNEDANSWER": "Pridėti konservuotą atsakymą",
+		"ADD_WHATSAPPDISPOSITION": "Pridėti „WhatsApp“ dispoziciją",
+		"ADD_WHATSAPPQUEUE": "Pridėkite „WhatsApp“ eilę",
+		"ADVANCED": "Pažengęs",
+		"AGENT": "Agentas",
+		"AGENTADD_QUEUE": "Pridėti agentą prie „WhatsApp“ eilės",
+		"AGENTADD_WHATSAPPACCOUNT": "Pridėti agentą prie „WhatsApp“ paskyros",
+		"AGENTADD_WHATSAPPQUEUE": "Pridėti agentą prie „WhatsApp“ eilės",
+		"AGENTS": "Agentai",
+		"AGENTSADD_QUEUE": "Pridėkite agentų prie „WhatsApp“ eilės",
+		"AGENTTRANSFER": "Agentų perdavimas",
+		"AGENTTRANSFERTIMEOUT": "Agentų perdavimo laikas",
+		"AGENT_TIMEOUT": "Agento laikas",
+		"ALL": "Visi",
+		"ALL_AGENTS": "Visi agentai",
+		"ALL_TEAMS": "Visos komandos",
+		"AMAZONLEX": "„AmazonLex“",
+		"AUTHTOKEN": "Auth ženklas",
+		"AUTOREPLY": "Automatinis atsakymas",
+		"BACK": "Atgal",
+		"BOTNAME": "Boto vardas",
+		"BUSY": "Užsiėmes",
+		"CANNEDANSWERS": "Konservuoti atsakymai",
+		"CANNED_ANSWER_NOT_FOUND": "Nerasta jokių konservuotų atsakymų",
+		"CANNED_ANSWER_SEARCH": "Įveskite tekstą, norėdami ieškoti konservuoto atsakymo",
+		"CAPACITY": "Talpa",
+		"CLOSE": "Uždaryti",
+		"CLOSED": "Uždaryta",
+		"CLOSEMETHOD": "Uždarymo metodas",
+		"CLOSEURL": "Uždaryti URL",
+		"COMMAND": "Komanda",
+		"CONDITION": "Būklė",
+		"CONTACT": "kontaktas",
+		"CREATED_AT": "Sukurta",
+		"DEFAULT_PAUSE": "Numatytoji pauzė",
+		"DELETE": "Ištrinti",
+		"DELETE_INTERACTION": "Ištrinti sąveiką",
+		"DELETE_SELECTED": "Išštrinti pasirinktus",
+		"DELETE_WHATSAPPACCOUNT": "Ištrinkite „WhatsApp“ paskyrą",
+		"DELETE_WHATSAPPCANNEDANSWER": "Ištrinta",
+		"DELETE_WHATSAPPDISPOSITION": "Ištrinkite „WhatsApp“ dispoziciją",
+		"DELETE_WHATSAPPQUEUE": "Ištrinkite „WhatsApp“ eilę",
+		"DESCRIPTION": "apibūdinimas",
+		"DIALOGFLOW": "„DialogFlow“",
+		"DISPOSITION": "Dispozicija",
+		"DISPOSITIONS": "Dispozicijos",
+		"DOWNLOAD_INTERACTION": "parsisiųsti",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Atsisiųsti be priedų",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Atsisiųsti su priedais",
+		"EDIT_AGENT": "Redaguoti agentą",
+		"EDIT_AMAZONLEX": "Redaguoti „Lex“ konfigūraciją",
+		"EDIT_AUTOREPLY": "Redaguoti automatinį atsakymą",
+		"EDIT_CLOSE": "Redaguoti Uždaryti",
+		"EDIT_DIALOGFLOW": "Redaguoti „DialogFlow“ konfigūraciją",
+		"EDIT_GOTOIF": "Redaguoti Gotoifą",
+		"EDIT_GOTOP": "Redaguoti Gotopą",
+		"EDIT_NOOP": "Redaguoti „Noop“",
+		"EDIT_QUEUE": "Redaguoti eilę",
+		"EDIT_SYSTEM": "Redaguoti sistemą",
+		"EDIT_TAG": "Redaguoti žymą",
+		"EDIT_WHATSAPPACCOUNT": "Redaguoti „WhatsApp“ paskyrą",
+		"EDIT_WHATSAPPCANNEDANSWER": "Redaguoti",
+		"EDIT_WHATSAPPDISPOSITION": "Redaguoti „WhatsApp“ dispoziciją",
+		"EDIT_WHATSAPPQUEUE": "Redaguoti „WhatsApp“ eilę",
+		"FALSEPRIORITY": "Klaidingas prioritetas",
+		"GENERAL": "Generolas",
+		"GOTOIF": "Gotoifas",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Eikite į „WhatsApp“ eilutę realiuoju laiku",
+		"GO_TO_WHATSAPPACCOUNTS": "Eiti į sąskaitą",
+		"ID": "Id",
+		"IDLE": "Tuščiosios eigos",
+		"INSERT_MESSAGE_HERE": "Įdėkite pranešimą čia",
+		"INTERACTIONS": "Sąveika",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Eikite į Sąveiką",
+		"KEY": "Raktas",
+		"LANGUAGE": "Kalba",
+		"LASTMESSAGE": "Paskutinė žinutė",
+		"LEXREGION": "Regionas",
+		"LIST": "Sąrašas",
+		"LOGGED_IN": "Prisijungęs (prijungtas prie SIP)",
+		"LOGIN_TIME": "Prisijungimo laikas",
+		"LOGOUT": "Atsijungti",
+		"MANDATORYDISPOSITION": "Privalomas nusistatymas",
+		"MANDATORYDISPOSITIONPAUSEID": "Pauzė naudoti, kai įjungtas privalomas disponavimas",
+		"MORE": "Daugiau",
+		"MOTIONPROXY": "Tarpinis serveris arba judesio sritis",
+		"MULTI_SELECT_TOGGLE": "Kelių funkcijų perjungimas",
+		"NAME": "vardas",
+		"NEW_WHATSAPPACCOUNT": "Nauja „WhatsApp“ paskyra",
+		"NEW_WHATSAPPCANNEDANSWER": "Naujas „WhatsApp“ konservuotas atsakymas",
+		"NEW_WHATSAPPDISPOSITION": "Nauja „WhatsApp“ dispozicija",
+		"NEW_WHATSAPPQUEUE": "Nauja „WhatsApp“ eilė",
+		"NOOP": "Noop",
+		"NOTE": "Pastaba",
+		"NOTIFICATION": "Pranešimas",
+		"NOTIFICATIONSHAKE": "Sukratykite",
+		"NOTIFICATIONSOUND": "Garsas",
+		"NOTIFICATIONTEMPLATE": "Šablonas",
+		"NO_AGENT_ONLINE": "Nėra agento internete",
+		"NO_AVAILABLE_INFO": "Nėra galimos informacijos",
+		"NO_INTERACTION_AVAILABLE": "Nėra jokių sąveikų",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nėra „WhatsApp“ konservuotų atsakymų",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "„WhatsApp“ dispozicijų nėra",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "„WhatsApp“ paskyrų nėra",
+		"OF": "apie",
+		"OPENED": "Atidaryta",
+		"PAGE": "Puslapis",
+		"PARTIALPAUSE": "Dalinė pauzė",
+		"PAUSE": "Pauzė",
+		"PAUSED": "Pristabdyta",
+		"PAUSE_TIME": "Pauzės laikas",
+		"PHONE": "Telefonas",
+		"PRIORITY": "Prioritetas",
+		"PROXY": "Įgaliotinis",
+		"QUEUE": "Eilė",
+		"QUEUES": "Eilės",
+		"QUEUETRANSFER": "Eilės perkėlimas",
+		"QUEUETRANSFERTIMEOUT": "Eilės perdavimo laikas",
+		"READY": "Parengta",
+		"REALTIME": "Realaus laiko",
+		"RECEIVEURL": "Gauti URL",
+		"REFRESH_INTERACTIONS": "Atnaujinkite sąveiką",
+		"REMOTE": "Nuotolinis",
+		"ROWSPERPAGE": "Eilučių puslapyje",
+		"SAVE": "Sutaupyti",
+		"SCREENRECORDING": "Tvarkykite ekrano įrašymą",
+		"SEARCH_FOR_ANYONE": "Paieška",
+		"SECRETACCESSKEY": "Prieigos rakto paslaptis",
+		"SELECTED": "Pasirinkta",
+		"SELECTED_AGENTS": "Pasirinkti agentai",
+		"SELECTED_TEAMS": "Pasirinktos komandos",
+		"SELECT_ALL": "Pasirinkti viską",
+		"SELECT_NONE": "Nesirinkite nė vieno",
+		"SEND": "Siųsti",
+		"SETTINGS": "Nustatymai",
+		"SPYINTERACTION": "Šnipų sąveika",
+		"STARTEDAT": "Pradėjo nuo",
+		"START_SCREENRECORDING": "Pradėti ekrano įrašymą",
+		"STATUS": "Statusas",
+		"STOP_SCREENRECORDING": "Sustabdyti ekrano įrašymą",
+		"STRATEGY": "Strategija",
+		"SYSTEM": "Sistema",
+		"TAG": "Žyma",
+		"TAGS": "Žymos",
+		"TEAMADD_WHATSAPPQUEUE": "Pridėti komandą prie „WhatsApp“ eilės",
+		"TEAMS_ASSOCIATION": "Komandų asociacija",
+		"TEXT": "Tekstas",
+		"TIMEOUT": "Laikas baigėsi",
+		"TIMER": "Laikmatis",
+		"TIMES": "Laikai",
+		"TO": "Kam",
+		"TOKEN": "Ženklas",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekrano įrašas galimas",
+		"TOOLTIP_SCREENRECORDING_ON": "Vyksta ekrano įrašymas",
+		"TRANSFER": "Perkėlimas",
+		"TRUEPRIORITY": "Tikrasis prioritetas",
+		"TYPE": "Tipas",
+		"UNPAUSE": "Pabaigos pauzė",
+		"VALUE": "Vertė",
+		"VARIABLE": "Kintamas",
+		"WAITFORTHEASSIGNEDAGENT": "Palaukite paskirto agento",
+		"WAITING": "Laukia",
+		"WELCOMEMESSAGE": "Sveikinimo pranešimas",
+		"WHATSAPP": "„WhatsApp“ jungtis",
+		"WHATSAPPACCOUNTS": "„WhatsApp“ paskyros",
+		"WHATSAPPCANNEDANSWERS": "„WhatsApp“ konservuoti atsakymai",
+		"WHATSAPPDISPOSITIONS": "„WhatsApp“ nuostatos",
+		"WHATSAPPQUEUES": "„WhatsApp“ eilės"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/lv.json b/public/app/main/apps/whatsapp/i18n/lv.json
new file mode 100644
index 0000000..b2a0d50
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/lv.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Obligāts lauks",
+			"ACCOUNTSID_REQUIRED": "Obligāts lauks",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
+			"AGENT_REQUIRED": "Obligāts lauks",
+			"AGENT_TIMEOUT_REQUIRED": "Obligāts lauks",
+			"AUTHTOKEN_REQUIRED": "Obligāts lauks",
+			"BOTNAME_REQUIRED": "Obligāts lauks",
+			"COMMAND_REQUIRED": "Obligāts lauks",
+			"CONDITION_REQUIRED": "Obligāts lauks",
+			"DESCRIPTION_REQUIRED": "Obligāts lauks",
+			"DISPOSITION_REQUIRED": "Obligāts lauks",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+			"FALSEPRIORITY_REQUIRED": "Obligāts lauks",
+			"KEY_MAX_LENGTH": "Vērtības maksimālajam garumam jābūt vienādam ar {{max}}",
+			"KEY_REQUIRED": "Obligāts lauks",
+			"LANGUAGE_REQUIRED": "Obligāts lauks",
+			"LEXREGION_REQUIRED": "Obligāts lauks",
+			"LIST_REQUIRED": "Obligāts lauks",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks",
+			"NAME_REQUIRED": "Obligāts lauks",
+			"PHONE_REQUIRED": "Obligāts lauks",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+			"PRIORITY_REQUIRED": "Obligāts lauks",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
+			"QUEUE_REQUIRED": "Obligāts lauks",
+			"SECRETACCESSKEY_REQUIRED": "Obligāts lauks",
+			"TAG_REQUIRED": "Obligāts lauks",
+			"TEXT_REQUIRED": "Obligāts lauks",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+			"TIMEOUT_REQUIRED": "Obligāts lauks",
+			"TIMES_REQUIRED": "Obligāts lauks",
+			"TOKEN_REQUIRED": "Obligāts lauks",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+			"TRUEPRIORITY_REQUIRED": "Obligāts lauks",
+			"TYPE_REQUIRED": "Obligāts lauks",
+			"VALUE_REQUIRED": "Obligāts lauks",
+			"VARIABLE_REQUIRED": "Obligāts lauks",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligāts lauks",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Vērtības maksimālajam garumam jābūt vienādam ar {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Obligāts lauks"
+		},
+		"HELP": {
+			"LIST": "Kontaktu pārvaldnieka saraksts, ko izmanto kontaktu saistīšanai",
+			"MANDATORYDISPOSITION": "Obligāta rīcība",
+			"MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, kad ir iespējota obligātā izvietošana",
+			"MOTIONPROXY": "Laukā jābūt šādam formātam: <protokols>: // <adreses adrese> [: <port>]. Piemērs: https: //X.Y.Z.W",
+			"NAME": "Tiek atbalstīti tikai cipari, burti un noteiktas rakstzīmes (._)",
+			"RECEIVEURL": "Šī ir automātiski ģenerēta API virkne, kas jāizmanto, lai no WhatsApp savienotāja nodrošinātāja saņemtu ziņojumus kontā (ir jāizmanto POST metode): noklikšķiniet uz starpliktuves pogas, lai to kopētu.",
+			"WELCOMEMESSAGE": "Šis ir pirmais atbildes ziņojums, kas nosūtīts jaunām mijiedarbībām"
+		},
+		"ACCESSKEYID": "Piekļuves atslēgas ID",
+		"ACCOUNTSID": "Konta SID",
+		"ACTIONS": "Darbības",
+		"ADD_NOTE": "Pievienot piezīmi",
+		"ADD_WHATSAPPACCOUNT": "Pievienot",
+		"ADD_WHATSAPPCANNEDANSWER": "Pievienojiet atbildi",
+		"ADD_WHATSAPPDISPOSITION": "Pievienojiet WhatsApp izvietojumu",
+		"ADD_WHATSAPPQUEUE": "Pievienojiet WhatsApp rindu",
+		"ADVANCED": "Advanced",
+		"AGENT": "Aģents",
+		"AGENTADD_QUEUE": "Pievienot aģentu WhatsApp rindā",
+		"AGENTADD_WHATSAPPACCOUNT": "Pievienot aģentu WhatsApp kontam",
+		"AGENTADD_WHATSAPPQUEUE": "Pievienot aģentu WhatsApp rindā",
+		"AGENTS": "Aģenti",
+		"AGENTSADD_QUEUE": "Pievienojiet aģentus WhatsApp rindā",
+		"AGENTTRANSFER": "Aģenta pārsūtīšana",
+		"AGENTTRANSFERTIMEOUT": "Aģenta pārsūtīšanas noildze",
+		"AGENT_TIMEOUT": "Aģenta noildze",
+		"ALL": "Visi",
+		"ALL_AGENTS": "Visi aģenti",
+		"ALL_TEAMS": "Visas komandas",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Auth marķieris",
+		"AUTOREPLY": "Automātiska atbilde",
+		"BACK": "Atpakaļ",
+		"BOTNAME": "Bot vārds",
+		"BUSY": "Aizņemts",
+		"CANNEDANSWERS": "Konservētas atbildes",
+		"CANNED_ANSWER_NOT_FOUND": "Neviena konservēta atbilde netika atrasta",
+		"CANNED_ANSWER_SEARCH": "Ievadiet tekstu, lai meklētu konservētu atbildi",
+		"CAPACITY": "Jauda",
+		"CLOSE": "Aizveriet",
+		"CLOSED": "Slēgts",
+		"CLOSEMETHOD": "Aizvērt metodi",
+		"CLOSEURL": "Aizvērt URL",
+		"COMMAND": "Pavēle",
+		"CONDITION": "Stāvoklis",
+		"CONTACT": "Sazinieties",
+		"CREATED_AT": "Izveidots plkst",
+		"DEFAULT_PAUSE": "NEPIECIEŠAMĀ PAUZE",
+		"DELETE": "Dzēst",
+		"DELETE_INTERACTION": "Dzēst mijiedarbību",
+		"DELETE_SELECTED": "Dzēst atlasīto",
+		"DELETE_WHATSAPPACCOUNT": "Dzēst WhatsApp kontu",
+		"DELETE_WHATSAPPCANNEDANSWER": "Dzēsts",
+		"DELETE_WHATSAPPDISPOSITION": "Dzēst WhatsApp Disposition",
+		"DELETE_WHATSAPPQUEUE": "Izdzēsiet WhatsApp rindu",
+		"DESCRIPTION": "Apraksts",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Dispozīcija",
+		"DISPOSITIONS": "Dispozīcijas",
+		"DOWNLOAD_INTERACTION": "Lejupielādēt",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Lejupielādējiet bez pielikumiem",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Lejupielādēt ar pielikumiem",
+		"EDIT_AGENT": "Rediģēt aģentu",
+		"EDIT_AMAZONLEX": "Rediģēt Lex konfigurāciju",
+		"EDIT_AUTOREPLY": "Rediģēt automātisko atbildi",
+		"EDIT_CLOSE": "Rediģēt Aizvērt",
+		"EDIT_DIALOGFLOW": "Rediģēt DialogFlow konfigurāciju",
+		"EDIT_GOTOIF": "Rediģēt Gotoifu",
+		"EDIT_GOTOP": "Rediģēt Gotopu",
+		"EDIT_NOOP": "Rediģēt Noopu",
+		"EDIT_QUEUE": "Rediģēt rindu",
+		"EDIT_SYSTEM": "Rediģēt sistēmu",
+		"EDIT_TAG": "Rediģēt tagu",
+		"EDIT_WHATSAPPACCOUNT": "Rediģēt WhatsApp kontu",
+		"EDIT_WHATSAPPCANNEDANSWER": "Rediģēt",
+		"EDIT_WHATSAPPDISPOSITION": "Rediģēt WhatsApp izvietojumu",
+		"EDIT_WHATSAPPQUEUE": "Rediģēt WhatsApp rindu",
+		"FALSEPRIORITY": "Viltus prioritāte",
+		"GENERAL": "Vispārīgi",
+		"GOTOIF": "Gotoifs",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Pārejiet uz WhatsApp rindu reāllaikā",
+		"GO_TO_WHATSAPPACCOUNTS": "Iet uz kontu",
+		"ID": "Id",
+		"IDLE": "Dīkstāvē",
+		"INSERT_MESSAGE_HERE": "Ievietojiet ziņojumu šeit",
+		"INTERACTIONS": "Mijiedarbība",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Atveriet sadaļu Mijiedarbība",
+		"KEY": "Atslēga",
+		"LANGUAGE": "Valoda",
+		"LASTMESSAGE": "Pēdējā ziņa",
+		"LEXREGION": "Novads",
+		"LIST": "Saraksts",
+		"LOGGED_IN": "Pieteicies (savienots ar SIP)",
+		"LOGIN_TIME": "Pieteikšanās laiks",
+		"LOGOUT": "Izlogoties",
+		"MANDATORYDISPOSITION": "Obligāta rīcība",
+		"MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, kad ir iespējota obligātā izvietošana",
+		"MORE": "Vairāk",
+		"MOTIONPROXY": "Starpniekserveris vai kustības domēns",
+		"MULTI_SELECT_TOGGLE": "Vairāki atlasiet pārslēgšanu",
+		"NAME": "Vārds",
+		"NEW_WHATSAPPACCOUNT": "Jauns WhatsApp konts",
+		"NEW_WHATSAPPCANNEDANSWER": "Jauna WhatsApp konservēta atbilde",
+		"NEW_WHATSAPPDISPOSITION": "Jauns WhatsApp izvietojums",
+		"NEW_WHATSAPPQUEUE": "Jauna WhatsApp rinda",
+		"NOOP": "Noop",
+		"NOTE": "Piezīme",
+		"NOTIFICATION": "Paziņojums",
+		"NOTIFICATIONSHAKE": "Krata",
+		"NOTIFICATIONSOUND": "Skaņa",
+		"NOTIFICATIONTEMPLATE": "Veidne",
+		"NO_AGENT_ONLINE": "Nav aģenta tiešsaistē",
+		"NO_AVAILABLE_INFO": "Nav pieejama informācija",
+		"NO_INTERACTION_AVAILABLE": "Nav pieejama mijiedarbība",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nav pieejamas WhatsApp konservētās atbildes",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Nav pieejama neviena WhatsApp pieeja",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nav pieejams neviens WhatsApp konts",
+		"OF": "no",
+		"OPENED": "Atvērta",
+		"PAGE": "Lappuse",
+		"PARTIALPAUSE": "Daļēja pauze",
+		"PAUSE": "Pauze",
+		"PAUSED": "Pauzēts",
+		"PAUSE_TIME": "Pauzes laiks",
+		"PHONE": "Tālr",
+		"PRIORITY": "Prioritāte",
+		"PROXY": "Starpniekserveris",
+		"QUEUE": "Rinda",
+		"QUEUES": "Rindas",
+		"QUEUETRANSFER": "Rindas pārsūtīšana",
+		"QUEUETRANSFERTIMEOUT": "Rindas pārsūtīšanas noildze",
+		"READY": "Gatavs",
+		"REALTIME": "Īsts laiks",
+		"RECEIVEURL": "Saņemt URL",
+		"REFRESH_INTERACTIONS": "Atsvaidziniet mijiedarbību",
+		"REMOTE": "Tālvadība",
+		"ROWSPERPAGE": "Rindas vienā lappusē",
+		"SAVE": "Saglabāt",
+		"SCREENRECORDING": "Pārvaldīt ekrāna ierakstīšanu",
+		"SEARCH_FOR_ANYONE": "Meklēt",
+		"SECRETACCESSKEY": "Piekļuves atslēgas noslēpums",
+		"SELECTED": "Atlasīts",
+		"SELECTED_AGENTS": "Atlasītie pārstāvji",
+		"SELECTED_TEAMS": "Atlasītās komandas",
+		"SELECT_ALL": "Izvēlēties visus",
+		"SELECT_NONE": "Neizvēlēties nevienu",
+		"SEND": "Sūtīt",
+		"SETTINGS": "Iestatījumi",
+		"SPYINTERACTION": "Spiegu mijiedarbība",
+		"STARTEDAT": "Sākās plkst",
+		"START_SCREENRECORDING": "Sākuma ekrāna ierakstīšana",
+		"STATUS": "Statuss",
+		"STOP_SCREENRECORDING": "Beigt ekrāna ierakstīšanu",
+		"STRATEGY": "Stratēģija",
+		"SYSTEM": "Sistēma",
+		"TAG": "Tag",
+		"TAGS": "Tagi",
+		"TEAMADD_WHATSAPPQUEUE": "Pievienojiet komandu WhatsApp rindai",
+		"TEAMS_ASSOCIATION": "Komandu asociācija",
+		"TEXT": "Teksts",
+		"TIMEOUT": "Pārtraukums",
+		"TIMER": "Taimeris",
+		"TIMES": "Laiki",
+		"TO": "Uz",
+		"TOKEN": "Žetons",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekrāna ieraksts ir pieejams",
+		"TOOLTIP_SCREENRECORDING_ON": "Notiek ekrāna ierakstīšana",
+		"TRANSFER": "Pārskaitījums",
+		"TRUEPRIORITY": "Patiesa prioritāte",
+		"TYPE": "Veids",
+		"UNPAUSE": "Beigu pauze",
+		"VALUE": "Vērtība",
+		"VARIABLE": "Mainīgs",
+		"WAITFORTHEASSIGNEDAGENT": "Gaidiet iecelto aģentu",
+		"WAITING": "Gaida",
+		"WELCOMEMESSAGE": "Sveiciena ziņa",
+		"WHATSAPP": "WhatsApp savienotājs",
+		"WHATSAPPACCOUNTS": "WhatsApp konti",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp konservētās atbildes",
+		"WHATSAPPDISPOSITIONS": "WhatsApp dispozīcijas",
+		"WHATSAPPQUEUES": "WhatsApp rindas"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/nl.json b/public/app/main/apps/whatsapp/i18n/nl.json
new file mode 100644
index 0000000..8d14fa6
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/nl.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Verplicht veld",
+			"ACCOUNTSID_REQUIRED": "Verplicht veld",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
+			"AGENT_REQUIRED": "Verplicht veld",
+			"AGENT_TIMEOUT_REQUIRED": "Verplicht veld",
+			"AUTHTOKEN_REQUIRED": "Verplicht veld",
+			"BOTNAME_REQUIRED": "Verplicht veld",
+			"COMMAND_REQUIRED": "Verplicht veld",
+			"CONDITION_REQUIRED": "Verplicht veld",
+			"DESCRIPTION_REQUIRED": "Verplicht veld",
+			"DISPOSITION_REQUIRED": "Verplicht veld",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
+			"FALSEPRIORITY_REQUIRED": "Verplicht veld",
+			"KEY_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
+			"KEY_REQUIRED": "Verplicht veld",
+			"LANGUAGE_REQUIRED": "Verplicht veld",
+			"LEXREGION_REQUIRED": "Verplicht veld",
+			"LIST_REQUIRED": "Verplicht veld",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld",
+			"NAME_REQUIRED": "Verplicht veld",
+			"PHONE_REQUIRED": "Verplicht veld",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
+			"PRIORITY_REQUIRED": "Verplicht veld",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
+			"QUEUE_REQUIRED": "Verplicht veld",
+			"SECRETACCESSKEY_REQUIRED": "Verplicht veld",
+			"TAG_REQUIRED": "Verplicht veld",
+			"TEXT_REQUIRED": "Verplicht veld",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
+			"TIMEOUT_REQUIRED": "Verplicht veld",
+			"TIMES_REQUIRED": "Verplicht veld",
+			"TOKEN_REQUIRED": "Verplicht veld",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
+			"TRUEPRIORITY_REQUIRED": "Verplicht veld",
+			"TYPE_REQUIRED": "Verplicht veld",
+			"VALUE_REQUIRED": "Verplicht veld",
+			"VARIABLE_REQUIRED": "Verplicht veld",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Verplicht veld",
+			"WELCOMEMESSAGE_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Verplicht veld"
+		},
+		"HELP": {
+			"LIST": "Contact Manager-lijst gebruikt om contacten te koppelen",
+			"MANDATORYDISPOSITION": "Verplichte dispositie",
+			"MANDATORYDISPOSITIONPAUSEID": "Pauzeer om te gebruiken wanneer verplichte dispositie is ingeschakeld",
+			"MOTIONPROXY": "Het veld moet de volgende indeling hebben: <protocol>: // <ipadres> [: <poort>]. Voorbeeld: https: //X.Y.Z.W",
+			"NAME": "Alleen cijfers, letters en specifieke tekens (._) worden ondersteund",
+			"RECEIVEURL": "Dit is de automatisch gegenereerde API-string die je nodig hebt om de berichten in je account van je WhatsApp Connector-provider te ontvangen (POST-methode moet worden gebruikt): klik op de klembordknop om deze te kopiëren",
+			"WELCOMEMESSAGE": "Dit is het eerste antwoordbericht dat naar nieuwe interacties wordt gestuurd"
+		},
+		"ACCESSKEYID": "Toegangssleutel-ID",
+		"ACCOUNTSID": "Account-SID",
+		"ACTIONS": "Acties",
+		"ADD_NOTE": "Notitie toevoegen",
+		"ADD_WHATSAPPACCOUNT": "Toevoegen",
+		"ADD_WHATSAPPCANNEDANSWER": "Voeg standaard antwoord toe",
+		"ADD_WHATSAPPDISPOSITION": "Voeg WhatsApp Disposition toe",
+		"ADD_WHATSAPPQUEUE": "Voeg WhatsApp-wachtrij toe",
+		"ADVANCED": "Geavanceerd",
+		"AGENT": "Agent",
+		"AGENTADD_QUEUE": "Agent toevoegen aan WhatsApp-wachtrij",
+		"AGENTADD_WHATSAPPACCOUNT": "Voeg agent toe aan WhatsApp-account",
+		"AGENTADD_WHATSAPPQUEUE": "Agent toevoegen aan WhatsApp-wachtrij",
+		"AGENTS": "Agenten",
+		"AGENTSADD_QUEUE": "Voeg agenten toe aan de WhatsApp-wachtrij",
+		"AGENTTRANSFER": "Overdracht van agent",
+		"AGENTTRANSFERTIMEOUT": "Time-out voor overdracht van agent",
+		"AGENT_TIMEOUT": "Time-out van agent",
+		"ALL": "Allemaal",
+		"ALL_AGENTS": "Alle agenten",
+		"ALL_TEAMS": "Alle teams",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Verificatie-token",
+		"AUTOREPLY": "Automatisch antwoord",
+		"BACK": "Terug",
+		"BOTNAME": "Botnaam",
+		"BUSY": "Druk",
+		"CANNEDANSWERS": "Ingeblikte antwoorden",
+		"CANNED_ANSWER_NOT_FOUND": "Er zijn geen standaardantwoorden gevonden",
+		"CANNED_ANSWER_SEARCH": "Voer een tekst in om een standaardantwoord te zoeken",
+		"CAPACITY": "Capaciteit",
+		"CLOSE": "Dichtbij",
+		"CLOSED": "Gesloten",
+		"CLOSEMETHOD": "Sluit methode",
+		"CLOSEURL": "Sluit URL",
+		"COMMAND": "Opdracht",
+		"CONDITION": "Staat",
+		"CONTACT": "Contact",
+		"CREATED_AT": "Gemaakt bij",
+		"DEFAULT_PAUSE": "STANDAARD PAUZE",
+		"DELETE": "Verwijderen",
+		"DELETE_INTERACTION": "Interactie verwijderen",
+		"DELETE_SELECTED": "Verwijder geselecteerde",
+		"DELETE_WHATSAPPACCOUNT": "Verwijder WhatsApp-account",
+		"DELETE_WHATSAPPCANNEDANSWER": "Verwijderd",
+		"DELETE_WHATSAPPDISPOSITION": "Verwijder WhatsApp Disposition",
+		"DELETE_WHATSAPPQUEUE": "Verwijder WhatsApp-wachtrij",
+		"DESCRIPTION": "Omschrijving",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Dispositie",
+		"DISPOSITIONS": "Beschikkingen",
+		"DOWNLOAD_INTERACTION": "Downloaden",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Downloaden zonder bijlagen",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Downloaden met bijlagen",
+		"EDIT_AGENT": "Bewerk Agent",
+		"EDIT_AMAZONLEX": "Bewerk de Lex-configuratie",
+		"EDIT_AUTOREPLY": "Bewerk automatisch antwoord",
+		"EDIT_CLOSE": "Bewerken Sluiten",
+		"EDIT_DIALOGFLOW": "Bewerk de DialogFlow-configuratie",
+		"EDIT_GOTOIF": "Bewerk Gotoif",
+		"EDIT_GOTOP": "Bewerken Gotop",
+		"EDIT_NOOP": "Bewerken Noop",
+		"EDIT_QUEUE": "Wachtrij bewerken",
+		"EDIT_SYSTEM": "Bewerk System",
+		"EDIT_TAG": "Bewerk label",
+		"EDIT_WHATSAPPACCOUNT": "Bewerk WhatsApp-account",
+		"EDIT_WHATSAPPCANNEDANSWER": "Bewerk",
+		"EDIT_WHATSAPPDISPOSITION": "Bewerk WhatsApp-indeling",
+		"EDIT_WHATSAPPQUEUE": "Bewerk WhatsApp-wachtrij",
+		"FALSEPRIORITY": "Valse prioriteit",
+		"GENERAL": "Algemeen",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Ga naar de realtime WhatsApp-wachtrij",
+		"GO_TO_WHATSAPPACCOUNTS": "Ga naar account",
+		"ID": "ID kaart",
+		"IDLE": "Inactief",
+		"INSERT_MESSAGE_HERE": "Voeg hier een bericht in",
+		"INTERACTIONS": "Interacties",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Ga naar Interacties",
+		"KEY": "Sleutel",
+		"LANGUAGE": "Taal",
+		"LASTMESSAGE": "Laatste bericht",
+		"LEXREGION": "Regio",
+		"LIST": "Lijst",
+		"LOGGED_IN": "Ingelogd (SIP verbonden)",
+		"LOGIN_TIME": "Login Tijd",
+		"LOGOUT": "Uitloggen",
+		"MANDATORYDISPOSITION": "Verplichte dispositie",
+		"MANDATORYDISPOSITIONPAUSEID": "Pauzeer om te gebruiken wanneer verplichte dispositie is ingeschakeld",
+		"MORE": "Meer",
+		"MOTIONPROXY": "Proxy of bewegingsdomein",
+		"MULTI_SELECT_TOGGLE": "Multi select-schakelaar",
+		"NAME": "Naam",
+		"NEW_WHATSAPPACCOUNT": "Nieuw WhatsApp-account",
+		"NEW_WHATSAPPCANNEDANSWER": "Nieuw WhatsApp-standaardantwoord",
+		"NEW_WHATSAPPDISPOSITION": "Nieuwe WhatsApp-indeling",
+		"NEW_WHATSAPPQUEUE": "Nieuwe WhatsApp-wachtrij",
+		"NOOP": "Noop",
+		"NOTE": "Notitie",
+		"NOTIFICATION": "Kennisgeving",
+		"NOTIFICATIONSHAKE": "Schudden",
+		"NOTIFICATIONSOUND": "Geluid",
+		"NOTIFICATIONTEMPLATE": "Sjabloon",
+		"NO_AGENT_ONLINE": "Geen agent online",
+		"NO_AVAILABLE_INFO": "Geen beschikbare info",
+		"NO_INTERACTION_AVAILABLE": "Geen interacties beschikbaar",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Geen WhatsApp-standaardantwoorden beschikbaar",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Geen WhatsApp-beschikkingen beschikbaar",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Geen WhatsApp-accounts beschikbaar",
+		"OF": "van",
+		"OPENED": "Geopend",
+		"PAGE": "Bladzijde",
+		"PARTIALPAUSE": "Gedeeltelijke pauze",
+		"PAUSE": "Pauze",
+		"PAUSED": "Onderbroken",
+		"PAUSE_TIME": "Pauzetijd",
+		"PHONE": "Telefoon",
+		"PRIORITY": "Prioriteit",
+		"PROXY": "Proxy",
+		"QUEUE": "Wachtrij",
+		"QUEUES": "Wachtrijen",
+		"QUEUETRANSFER": "Wachtrijoverdracht",
+		"QUEUETRANSFERTIMEOUT": "Time-out wachtrijoverdracht",
+		"READY": "Klaar",
+		"REALTIME": "Echte tijd",
+		"RECEIVEURL": "Ontvang URL",
+		"REFRESH_INTERACTIONS": "Vernieuw interacties",
+		"REMOTE": "Afgelegen",
+		"ROWSPERPAGE": "Rijen per pagina",
+		"SAVE": "Sparen",
+		"SCREENRECORDING": "Beheer schermopname",
+		"SEARCH_FOR_ANYONE": "Zoeken",
+		"SECRETACCESSKEY": "Toegang tot sleutelgeheim",
+		"SELECTED": "Geselecteerd",
+		"SELECTED_AGENTS": "Geselecteerde agenten",
+		"SELECTED_TEAMS": "Geselecteerde teams",
+		"SELECT_ALL": "Selecteer alles",
+		"SELECT_NONE": "Selecteer niets",
+		"SEND": "Sturen",
+		"SETTINGS": "Instellingen",
+		"SPYINTERACTION": "Spionage-interactie",
+		"STARTEDAT": "Begon bij",
+		"START_SCREENRECORDING": "Start de schermopname",
+		"STATUS": "Toestand",
+		"STOP_SCREENRECORDING": "Stop de schermopname",
+		"STRATEGY": "Strategie",
+		"SYSTEM": "Systeem",
+		"TAG": "Label",
+		"TAGS": "Tags",
+		"TEAMADD_WHATSAPPQUEUE": "Team toevoegen aan WhatsApp-wachtrij",
+		"TEAMS_ASSOCIATION": "Teams Association",
+		"TEXT": "Tekst",
+		"TIMEOUT": "Time-out",
+		"TIMER": "Timer",
+		"TIMES": "Keer",
+		"TO": "Naar",
+		"TOKEN": "Teken",
+		"TOOLTIP_SCREENRECORDING_OFF": "Schermopname beschikbaar",
+		"TOOLTIP_SCREENRECORDING_ON": "Schermopname bezig",
+		"TRANSFER": "Overdracht",
+		"TRUEPRIORITY": "Ware prioriteit",
+		"TYPE": "Type",
+		"UNPAUSE": "Einde pauze",
+		"VALUE": "Waarde",
+		"VARIABLE": "Variabel",
+		"WAITFORTHEASSIGNEDAGENT": "Wacht op de toegewezen agent",
+		"WAITING": "Aan het wachten",
+		"WELCOMEMESSAGE": "Welkoms bericht",
+		"WHATSAPP": "WhatsApp-aansluiting",
+		"WHATSAPPACCOUNTS": "WhatsApp-accounts",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp standaardantwoorden",
+		"WHATSAPPDISPOSITIONS": "WhatsApp-beschikkingen",
+		"WHATSAPPQUEUES": "WhatsApp-wachtrijen"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/no.json b/public/app/main/apps/whatsapp/i18n/no.json
new file mode 100644
index 0000000..70387f2
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/no.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Obligatoriske felt",
+			"ACCOUNTSID_REQUIRED": "Obligatoriske felt",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
+			"AGENT_REQUIRED": "Obligatoriske felt",
+			"AGENT_TIMEOUT_REQUIRED": "Obligatoriske felt",
+			"AUTHTOKEN_REQUIRED": "Obligatoriske felt",
+			"BOTNAME_REQUIRED": "Obligatoriske felt",
+			"COMMAND_REQUIRED": "Obligatoriske felt",
+			"CONDITION_REQUIRED": "Obligatoriske felt",
+			"DESCRIPTION_REQUIRED": "Obligatoriske felt",
+			"DISPOSITION_REQUIRED": "Obligatoriske felt",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
+			"FALSEPRIORITY_REQUIRED": "Obligatoriske felt",
+			"KEY_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
+			"KEY_REQUIRED": "Obligatoriske felt",
+			"LANGUAGE_REQUIRED": "Mandtory Field",
+			"LEXREGION_REQUIRED": "Obligatoriske felt",
+			"LIST_REQUIRED": "Obligatoriske felt",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt",
+			"NAME_REQUIRED": "Obligatoriske felt",
+			"PHONE_REQUIRED": "Obligatoriske felt",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
+			"PRIORITY_REQUIRED": "Obligatoriske felt",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
+			"QUEUE_REQUIRED": "Obligatoriske felt",
+			"SECRETACCESSKEY_REQUIRED": "Obligatoriske felt",
+			"TAG_REQUIRED": "Obligatoriske felt",
+			"TEXT_REQUIRED": "Obligatoriske felt",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
+			"TIMEOUT_REQUIRED": "Obligatoriske felt",
+			"TIMES_REQUIRED": "Obligatoriske felt",
+			"TOKEN_REQUIRED": "Obligatoriske felt",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
+			"TRUEPRIORITY_REQUIRED": "Obligatoriske felt",
+			"TYPE_REQUIRED": "Obligatoriske felt",
+			"VALUE_REQUIRED": "Obligatoriske felt",
+			"VARIABLE_REQUIRED": "Obligatoriske felt",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriske felt",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Obligatoriske felt"
+		},
+		"HELP": {
+			"LIST": "Kontakt managerliste som ble brukt til å knytte kontakter",
+			"MANDATORYDISPOSITION": "Obligatorisk disposisjon",
+			"MANDATORYDISPOSITIONPAUSEID": "Pause for bruk når obligatorisk disposisjon er aktivert",
+			"MOTIONPROXY": "Feltet må ha følgende format: <protokoll>: // <adresse> [: <port>]. Eksempel: https: //X.Y.Z.W",
+			"NAME": "Bare tall, bokstaver og spesifikke tegn (._) støttes",
+			"RECEIVEURL": "Dette er den auto-genererte API-strengen du trenger å bruke for å motta meldingene i kontoen din fra leverandøren av WhatsApp Connector (POST-metoden må brukes): klikk på utklippstavleknappen for å kopiere den",
+			"WELCOMEMESSAGE": "Dette er den første svarmeldingen som er sendt til nye interaksjoner"
+		},
+		"ACCESSKEYID": "Tilgangsnøkkel-ID",
+		"ACCOUNTSID": "Konto SID",
+		"ACTIONS": "handlinger",
+		"ADD_NOTE": "Legge til notat",
+		"ADD_WHATSAPPACCOUNT": "Legg til",
+		"ADD_WHATSAPPCANNEDANSWER": "Legg til hermetisert svar",
+		"ADD_WHATSAPPDISPOSITION": "Legg til WhatsApp Disposition",
+		"ADD_WHATSAPPQUEUE": "Legg til WhatsApp-kø",
+		"ADVANCED": "Avansert",
+		"AGENT": "Middel",
+		"AGENTADD_QUEUE": "Legg agent til WhatsApp-køen",
+		"AGENTADD_WHATSAPPACCOUNT": "Legg agent til WhatsApp-konto",
+		"AGENTADD_WHATSAPPQUEUE": "Legg agent til WhatsApp-køen",
+		"AGENTS": "agenter",
+		"AGENTSADD_QUEUE": "Legg til agenter i WhatsApp-køen",
+		"AGENTTRANSFER": "Agentoverføring",
+		"AGENTTRANSFERTIMEOUT": "Agentoverføringstid",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"ALL": "Alle",
+		"ALL_AGENTS": "Alle agenter",
+		"ALL_TEAMS": "Alle lag",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Autentisk token",
+		"AUTOREPLY": "Automatisk svar",
+		"BACK": "Tilbake",
+		"BOTNAME": "Bot Navn",
+		"BUSY": "Travelt",
+		"CANNEDANSWERS": "Hermetiske svar",
+		"CANNED_ANSWER_NOT_FOUND": "Ingen hermetiske svar ble funnet",
+		"CANNED_ANSWER_SEARCH": "Skriv inn en tekst for å søke i et hermetisert svar",
+		"CAPACITY": "Kapasitet",
+		"CLOSE": "Lukk",
+		"CLOSED": "Lukket",
+		"CLOSEMETHOD": "Lukk metoden",
+		"CLOSEURL": "Lukk URL",
+		"COMMAND": "Kommando",
+		"CONDITION": "Tilstand",
+		"CONTACT": "Kontakt",
+		"CREATED_AT": "Opprettet kl",
+		"DEFAULT_PAUSE": "DEFAULT PAUSE",
+		"DELETE": "Slett",
+		"DELETE_INTERACTION": "Slett samhandling",
+		"DELETE_SELECTED": "Slett valgte",
+		"DELETE_WHATSAPPACCOUNT": "Slett WhatsApp-konto",
+		"DELETE_WHATSAPPCANNEDANSWER": "Slettet",
+		"DELETE_WHATSAPPDISPOSITION": "Slett WhatsApp-disposisjon",
+		"DELETE_WHATSAPPQUEUE": "Slett WhatsApp-kø",
+		"DESCRIPTION": "Beskrivelse",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposisjon",
+		"DISPOSITIONS": "disposisjoner",
+		"DOWNLOAD_INTERACTION": "nedlasting",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Last ned uten vedlegg",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Last ned med vedlegg",
+		"EDIT_AGENT": "Rediger agent",
+		"EDIT_AMAZONLEX": "Rediger Lex-konfigurasjonen",
+		"EDIT_AUTOREPLY": "Rediger autosvar",
+		"EDIT_CLOSE": "Rediger Lukk",
+		"EDIT_DIALOGFLOW": "Rediger DialogFlow-konfigurasjon",
+		"EDIT_GOTOIF": "Rediger Gotoif",
+		"EDIT_GOTOP": "Rediger Gotop",
+		"EDIT_NOOP": "Rediger Noop",
+		"EDIT_QUEUE": "Rediger kø",
+		"EDIT_SYSTEM": "Rediger system",
+		"EDIT_TAG": "Rediger tag",
+		"EDIT_WHATSAPPACCOUNT": "Rediger WhatsApp-konto",
+		"EDIT_WHATSAPPCANNEDANSWER": "Redigere",
+		"EDIT_WHATSAPPDISPOSITION": "Rediger WhatsApp Disposition",
+		"EDIT_WHATSAPPQUEUE": "Rediger WhatsApp-kø",
+		"FALSEPRIORITY": "Falsk prioritet",
+		"GENERAL": "Generell",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Gå til WhatsApp-kø i sanntid",
+		"GO_TO_WHATSAPPACCOUNTS": "Gå til konto",
+		"ID": "id",
+		"IDLE": "Tomgang",
+		"INSERT_MESSAGE_HERE": "Sett inn melding her",
+		"INTERACTIONS": "interaksjoner",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Gå til interaksjoner",
+		"KEY": "Nøkkel",
+		"LANGUAGE": "Språk",
+		"LASTMESSAGE": "Siste melding",
+		"LEXREGION": "Region",
+		"LIST": "Liste",
+		"LOGGED_IN": "Logget inn (SIP-tilkoblet)",
+		"LOGIN_TIME": "Innloggingstid",
+		"LOGOUT": "Logg ut",
+		"MANDATORYDISPOSITION": "Obligatorisk disposisjon",
+		"MANDATORYDISPOSITIONPAUSEID": "Pause for bruk når obligatorisk disposisjon er aktivert",
+		"MORE": "Mer",
+		"MOTIONPROXY": "Proxy- eller bevegelsesdomener",
+		"MULTI_SELECT_TOGGLE": "Multivalg veksle",
+		"NAME": "Navn",
+		"NEW_WHATSAPPACCOUNT": "Ny WhatsApp-konto",
+		"NEW_WHATSAPPCANNEDANSWER": "Nytt WhatsApp hermetisert svar",
+		"NEW_WHATSAPPDISPOSITION": "Ny WhatsApp disposisjon",
+		"NEW_WHATSAPPQUEUE": "Ny WhatsApp-kø",
+		"NOOP": "Noop",
+		"NOTE": "Merk",
+		"NOTIFICATION": "Melding",
+		"NOTIFICATIONSHAKE": "Riste",
+		"NOTIFICATIONSOUND": "Lyd",
+		"NOTIFICATIONTEMPLATE": "Mal",
+		"NO_AGENT_ONLINE": "Ingen agent på nettet",
+		"NO_AVAILABLE_INFO": "Ingen tilgjengelig informasjon",
+		"NO_INTERACTION_AVAILABLE": "Ingen interaksjoner tilgjengelig",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Ingen WhatsApp hermetiserte svar tilgjengelig",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Ingen WhatsApp-disposisjoner tilgjengelig",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Ingen WhatsApp-kontoer tilgjengelig",
+		"OF": "av",
+		"OPENED": "åpnet",
+		"PAGE": "Side",
+		"PARTIALPAUSE": "Delvis pause",
+		"PAUSE": "Pause",
+		"PAUSED": "pauset",
+		"PAUSE_TIME": "Pause tid",
+		"PHONE": "telefon",
+		"PRIORITY": "Prioritet",
+		"PROXY": "proxy",
+		"QUEUE": "Kø",
+		"QUEUES": "køer",
+		"QUEUETRANSFER": "Køoverføring",
+		"QUEUETRANSFERTIMEOUT": "Timeout for overføring av kø",
+		"READY": "Klar",
+		"REALTIME": "Realtime",
+		"RECEIVEURL": "Motta URL",
+		"REFRESH_INTERACTIONS": "Oppdater interaksjoner",
+		"REMOTE": "Remote",
+		"ROWSPERPAGE": "Rader per side",
+		"SAVE": "Lagre",
+		"SCREENRECORDING": "Administrer skjermopptak",
+		"SEARCH_FOR_ANYONE": "Søk",
+		"SECRETACCESSKEY": "Tilgang nøkkelhemmelighet",
+		"SELECTED": "valgt",
+		"SELECTED_AGENTS": "Utvalgte agenter",
+		"SELECTED_TEAMS": "Utvalgte lag",
+		"SELECT_ALL": "Velg alle",
+		"SELECT_NONE": "Velg ingen",
+		"SEND": "Sende",
+		"SETTINGS": "innstillinger",
+		"SPYINTERACTION": "Spioninteraksjon",
+		"STARTEDAT": "Startet kl",
+		"START_SCREENRECORDING": "Start skjermopptak",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Stopp skjermopptak",
+		"STRATEGY": "Strategi",
+		"SYSTEM": "System",
+		"TAG": "stikkord",
+		"TAGS": "Tags",
+		"TEAMADD_WHATSAPPQUEUE": "Legg team til WhatsApp-køen",
+		"TEAMS_ASSOCIATION": "Lagforening",
+		"TEXT": "Tekst",
+		"TIMEOUT": "Pause",
+		"TIMER": "Timer",
+		"TIMES": "ganger",
+		"TO": "Til",
+		"TOKEN": "pollett",
+		"TOOLTIP_SCREENRECORDING_OFF": "Skjermopptak tilgjengelig",
+		"TOOLTIP_SCREENRECORDING_ON": "Skjermopptak pågår",
+		"TRANSFER": "Overføre",
+		"TRUEPRIORITY": "Ekte prioritet",
+		"TYPE": "Type",
+		"UNPAUSE": "Sluttpause",
+		"VALUE": "Verdi",
+		"VARIABLE": "variabel",
+		"WAITFORTHEASSIGNEDAGENT": "Vent til den tildelte agenten",
+		"WAITING": "Venter",
+		"WELCOMEMESSAGE": "Velkomstmelding",
+		"WHATSAPP": "WhatsApp-kontakt",
+		"WHATSAPPACCOUNTS": "WhatsApp-kontoer",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp hermetiserte svar",
+		"WHATSAPPDISPOSITIONS": "WhatsApp-disposisjoner",
+		"WHATSAPPQUEUES": "WhatsApp-køer"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/pl.json b/public/app/main/apps/whatsapp/i18n/pl.json
new file mode 100644
index 0000000..0034105
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/pl.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Pole obowiązkowe",
+			"ACCOUNTSID_REQUIRED": "Pole obowiązkowe",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
+			"AGENT_REQUIRED": "Pole obowiązkowe",
+			"AGENT_TIMEOUT_REQUIRED": "Pole obowiązkowe",
+			"AUTHTOKEN_REQUIRED": "Pole obowiązkowe",
+			"BOTNAME_REQUIRED": "Pole obowiązkowe",
+			"COMMAND_REQUIRED": "Pole obowiązkowe",
+			"CONDITION_REQUIRED": "Pole obowiązkowe",
+			"DESCRIPTION_REQUIRED": "Pole obowiązkowe",
+			"DISPOSITION_REQUIRED": "Pole obowiązkowe",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+			"FALSEPRIORITY_REQUIRED": "Pole obowiązkowe",
+			"KEY_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
+			"KEY_REQUIRED": "Pole obowiązkowe",
+			"LANGUAGE_REQUIRED": "Pole Mandtory",
+			"LEXREGION_REQUIRED": "Pole obowiązkowe",
+			"LIST_REQUIRED": "Pole obowiązkowe",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe",
+			"NAME_REQUIRED": "Pole obowiązkowe",
+			"PHONE_REQUIRED": "Pole obowiązkowe",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+			"PRIORITY_REQUIRED": "Pole obowiązkowe",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
+			"QUEUE_REQUIRED": "Pole obowiązkowe",
+			"SECRETACCESSKEY_REQUIRED": "Pole obowiązkowe",
+			"TAG_REQUIRED": "Pole obowiązkowe",
+			"TEXT_REQUIRED": "Pole obowiązkowe",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+			"TIMEOUT_REQUIRED": "Pole obowiązkowe",
+			"TIMES_REQUIRED": "Pole obowiązkowe",
+			"TOKEN_REQUIRED": "Pole obowiązkowe",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+			"TRUEPRIORITY_REQUIRED": "Pole obowiązkowe",
+			"TYPE_REQUIRED": "Pole obowiązkowe",
+			"VALUE_REQUIRED": "Pole obowiązkowe",
+			"VARIABLE_REQUIRED": "Pole obowiązkowe",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pole obowiązkowe",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Pole obowiązkowe"
+		},
+		"HELP": {
+			"LIST": "Lista menedżera kontaktów używana do kojarzenia kontaktów",
+			"MANDATORYDISPOSITION": "Obowiązkowa dyspozycja",
+			"MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj, aby użyć, gdy włączona jest dyspozycja obowiązkowa",
+			"MOTIONPROXY": "Pole musi mieć następujący format: <protocol>: // <ipaddress> [: <port>]. Przykład: https: //X.Y.Z.W",
+			"NAME": "Obsługiwane są tylko cyfry, litery i określone znaki (._)",
+			"RECEIVEURL": "To jest automatycznie generowany ciąg API, którego potrzebujesz, aby otrzymywać wiadomości wewnątrz swojego konta od dostawcy WhatsApp Connector (należy użyć metody POST): kliknij przycisk schowka, aby go skopiować",
+			"WELCOMEMESSAGE": "To jest pierwsza wiadomość z odpowiedzią wysłana do nowych interakcji"
+		},
+		"ACCESSKEYID": "Identyfikator klucza dostępu",
+		"ACCOUNTSID": "Identyfikator SID konta",
+		"ACTIONS": "działania",
+		"ADD_NOTE": "Dodaj notatkę",
+		"ADD_WHATSAPPACCOUNT": "Dodaj",
+		"ADD_WHATSAPPCANNEDANSWER": "Dodaj gotową odpowiedź",
+		"ADD_WHATSAPPDISPOSITION": "Dodaj dyspozycję WhatsApp",
+		"ADD_WHATSAPPQUEUE": "Dodaj kolejkę WhatsApp",
+		"ADVANCED": "zaawansowane",
+		"AGENT": "Agent",
+		"AGENTADD_QUEUE": "Dodaj agenta do kolejki WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Dodaj agenta do konta WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Dodaj agenta do kolejki WhatsApp",
+		"AGENTS": "Agenci",
+		"AGENTSADD_QUEUE": "Dodaj agentów do kolejki WhatsApp",
+		"AGENTTRANSFER": "Transfer agenta",
+		"AGENTTRANSFERTIMEOUT": "Limit czasu transferu agenta",
+		"AGENT_TIMEOUT": "Limit czasu agenta",
+		"ALL": "Wszystko",
+		"ALL_AGENTS": "Wszyscy agenci",
+		"ALL_TEAMS": "Wszystkie zespoły",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Auth Token",
+		"AUTOREPLY": "Automatyczna odpowiedź",
+		"BACK": "Plecy",
+		"BOTNAME": "Nazwa bota",
+		"BUSY": "Zajęty",
+		"CANNEDANSWERS": "Gotowe odpowiedzi",
+		"CANNED_ANSWER_NOT_FOUND": "Nie znaleziono gotowych odpowiedzi",
+		"CANNED_ANSWER_SEARCH": "Wprowadź tekst, aby wyszukać gotową odpowiedź",
+		"CAPACITY": "Pojemność",
+		"CLOSE": "Blisko",
+		"CLOSED": "Zamknięte",
+		"CLOSEMETHOD": "Zamknij metodę",
+		"CLOSEURL": "Zamknij adres URL",
+		"COMMAND": "Komenda",
+		"CONDITION": "Stan: schorzenie",
+		"CONTACT": "Kontakt",
+		"CREATED_AT": "Utworzono w",
+		"DEFAULT_PAUSE": "DOMYŚLNA PAUZA",
+		"DELETE": "Usunąć",
+		"DELETE_INTERACTION": "Usuń interakcję",
+		"DELETE_SELECTED": "Usuń zaznaczone",
+		"DELETE_WHATSAPPACCOUNT": "Usuń konto WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Usunięto",
+		"DELETE_WHATSAPPDISPOSITION": "Usuń dyspozycję WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Usuń kolejkę WhatsApp",
+		"DESCRIPTION": "Opis",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Usposobienie",
+		"DISPOSITIONS": "Dyspozycje",
+		"DOWNLOAD_INTERACTION": "Pobieranie",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Pobierz bez załączników",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Pobierz z załącznikami",
+		"EDIT_AGENT": "Edytuj agenta",
+		"EDIT_AMAZONLEX": "Edytuj konfigurację Lex",
+		"EDIT_AUTOREPLY": "Edytuj automatyczną odpowiedź",
+		"EDIT_CLOSE": "Edytuj Zamknij",
+		"EDIT_DIALOGFLOW": "Edytuj konfigurację DialogFlow",
+		"EDIT_GOTOIF": "Edytuj Gotoif",
+		"EDIT_GOTOP": "Edytuj Gotop",
+		"EDIT_NOOP": "Edytuj Noop",
+		"EDIT_QUEUE": "Edytuj kolejkę",
+		"EDIT_SYSTEM": "Edytuj system",
+		"EDIT_TAG": "Edytuj tag",
+		"EDIT_WHATSAPPACCOUNT": "Edytuj konto WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "Edytować",
+		"EDIT_WHATSAPPDISPOSITION": "Edytuj dyspozycję WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "Edytuj kolejkę WhatsApp",
+		"FALSEPRIORITY": "Fałszywy priorytet",
+		"GENERAL": "Generał",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Przejdź do kolejki WhatsApp w czasie rzeczywistym",
+		"GO_TO_WHATSAPPACCOUNTS": "Przejdź do konta",
+		"ID": "ID",
+		"IDLE": "Bezczynny",
+		"INSERT_MESSAGE_HERE": "Tutaj wstaw wiadomość",
+		"INTERACTIONS": "Interakcje",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Przejdź do interakcji",
+		"KEY": "Klucz",
+		"LANGUAGE": "Język",
+		"LASTMESSAGE": "Ostatnia wiadomość",
+		"LEXREGION": "Region",
+		"LIST": "Lista",
+		"LOGGED_IN": "Zalogowano (połączenie SIP)",
+		"LOGIN_TIME": "Czas logowania",
+		"LOGOUT": "Wyloguj",
+		"MANDATORYDISPOSITION": "Obowiązkowa dyspozycja",
+		"MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj, aby użyć, gdy włączona jest dyspozycja obowiązkowa",
+		"MORE": "Więcej",
+		"MOTIONPROXY": "Proxy lub domena ruchu",
+		"MULTI_SELECT_TOGGLE": "Przełącznik wyboru wielokrotnego",
+		"NAME": "Imię",
+		"NEW_WHATSAPPACCOUNT": "Nowe konto WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Nowa odpowiedź w puszkach WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Nowa dyspozycja WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Nowa kolejka WhatsApp",
+		"NOOP": "Noop",
+		"NOTE": "Uwaga",
+		"NOTIFICATION": "Powiadomienie",
+		"NOTIFICATIONSHAKE": "Potrząsnąć",
+		"NOTIFICATIONSOUND": "Dźwięk",
+		"NOTIFICATIONTEMPLATE": "Szablon",
+		"NO_AGENT_ONLINE": "Brak agenta online",
+		"NO_AVAILABLE_INFO": "Brak dostępnych informacji",
+		"NO_INTERACTION_AVAILABLE": "Brak dostępnych interakcji",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Brak dostępnych gotowych odpowiedzi WhatsApp",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Brak dostępnych dyspozycji WhatsApp",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Brak dostępnych kont WhatsApp",
+		"OF": "z",
+		"OPENED": "Otwierany",
+		"PAGE": "Strona",
+		"PARTIALPAUSE": "Częściowa pauza",
+		"PAUSE": "Pauza",
+		"PAUSED": "Wstrzymano",
+		"PAUSE_TIME": "Czas przerwy",
+		"PHONE": "Telefon",
+		"PRIORITY": "Priorytet",
+		"PROXY": "Pełnomocnik",
+		"QUEUE": "Kolejka",
+		"QUEUES": "Kolejki",
+		"QUEUETRANSFER": "Transfer kolejki",
+		"QUEUETRANSFERTIMEOUT": "Limit czasu transferu kolejki",
+		"READY": "Gotowy",
+		"REALTIME": "Czas rzeczywisty",
+		"RECEIVEURL": "Odbierz URL",
+		"REFRESH_INTERACTIONS": "Odśwież interakcje",
+		"REMOTE": "Zdalny",
+		"ROWSPERPAGE": "Wiersze na stronę",
+		"SAVE": "Zapisać",
+		"SCREENRECORDING": "Zarządzaj nagrywaniem ekranu",
+		"SEARCH_FOR_ANYONE": "Szukaj",
+		"SECRETACCESSKEY": "Klucz dostępu do klucza tajnego",
+		"SELECTED": "Wybrany",
+		"SELECTED_AGENTS": "Wybrani agenci",
+		"SELECTED_TEAMS": "Wybrane zespoły",
+		"SELECT_ALL": "Zaznacz wszystko",
+		"SELECT_NONE": "Nie wybieraj żadnego",
+		"SEND": "Wysłać",
+		"SETTINGS": "Ustawienia",
+		"SPYINTERACTION": "Szpieg Interakcja",
+		"STARTEDAT": "Zaczęło się o",
+		"START_SCREENRECORDING": "Rozpocznij nagrywanie ekranu",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Zatrzymaj nagrywanie ekranu",
+		"STRATEGY": "Strategia",
+		"SYSTEM": "System",
+		"TAG": "Etykietka",
+		"TAGS": "Tagi",
+		"TEAMADD_WHATSAPPQUEUE": "Dodaj zespół do kolejki WhatsApp",
+		"TEAMS_ASSOCIATION": "Stowarzyszenie Drużyn",
+		"TEXT": "Tekst",
+		"TIMEOUT": "Koniec czasu",
+		"TIMER": "Regulator czasowy",
+		"TIMES": "Czasy",
+		"TO": "Do",
+		"TOKEN": "Znak",
+		"TOOLTIP_SCREENRECORDING_OFF": "Dostępne nagrywanie ekranu",
+		"TOOLTIP_SCREENRECORDING_ON": "Trwa nagrywanie ekranu",
+		"TRANSFER": "Transfer",
+		"TRUEPRIORITY": "Prawdziwy priorytet",
+		"TYPE": "Rodzaj",
+		"UNPAUSE": "Koniec Pauza",
+		"VALUE": "Wartość",
+		"VARIABLE": "Zmienna",
+		"WAITFORTHEASSIGNEDAGENT": "Poczekaj na przypisanego agenta",
+		"WAITING": "Czekanie",
+		"WELCOMEMESSAGE": "Wiadomość powitalna",
+		"WHATSAPP": "Złącze WhatsApp",
+		"WHATSAPPACCOUNTS": "Konta WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "Odpowiedzi w puszkach WhatsApp",
+		"WHATSAPPDISPOSITIONS": "Dyspozycje WhatsApp",
+		"WHATSAPPQUEUES": "Kolejki WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/pt-BR.json b/public/app/main/apps/whatsapp/i18n/pt-BR.json
new file mode 100644
index 0000000..c0d578a
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/pt-BR.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Campo Obrigatório",
+			"ACCOUNTSID_REQUIRED": "Campo Obrigatório",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
+			"AGENT_REQUIRED": "Campo Obrigatório",
+			"AGENT_TIMEOUT_REQUIRED": "Campo Obrigatório",
+			"AUTHTOKEN_REQUIRED": "Campo Obrigatório",
+			"BOTNAME_REQUIRED": "Campo Obrigatório",
+			"COMMAND_REQUIRED": "Campo Obrigatório",
+			"CONDITION_REQUIRED": "Campo Obrigatório",
+			"DESCRIPTION_REQUIRED": "Campo Obrigatório",
+			"DISPOSITION_REQUIRED": "Campo Obrigatório",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"FALSEPRIORITY_REQUIRED": "Campo Obrigatório",
+			"KEY_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
+			"KEY_REQUIRED": "Campo Obrigatório",
+			"LANGUAGE_REQUIRED": "Campo Mandtório",
+			"LEXREGION_REQUIRED": "Campo Obrigatório",
+			"LIST_REQUIRED": "Campo Obrigatório",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo Obrigatório",
+			"NAME_REQUIRED": "Campo Obrigatório",
+			"PHONE_REQUIRED": "Campo Obrigatório",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"PRIORITY_REQUIRED": "Campo Obrigatório",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
+			"QUEUE_REQUIRED": "Campo Obrigatório",
+			"SECRETACCESSKEY_REQUIRED": "Campo Obrigatório",
+			"TAG_REQUIRED": "Campo Obrigatório",
+			"TEXT_REQUIRED": "Campo Obrigatório",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"TIMEOUT_REQUIRED": "Campo Obrigatório",
+			"TIMES_REQUIRED": "Campo Obrigatório",
+			"TOKEN_REQUIRED": "Campo Obrigatório",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"TRUEPRIORITY_REQUIRED": "Campo Obrigatório",
+			"TYPE_REQUIRED": "Campo Obrigatório",
+			"VALUE_REQUIRED": "Campo Obrigatório",
+			"VARIABLE_REQUIRED": "Campo Obrigatório",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
+			"WELCOMEMESSAGE_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Campo Obrigatório"
+		},
+		"HELP": {
+			"LIST": "Lista do gerenciador de contatos usada para associar contatos",
+			"MANDATORYDISPOSITION": "Disposição obrigatória",
+			"MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
+			"MOTIONPROXY": "O campo deve ter o seguinte formato: <protocol>: // <ipaddress> [: <port>]. Exemplo: https: //X.Y.Z.W",
+			"NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
+			"RECEIVEURL": "Esta é a string de API gerada automaticamente que você precisa usar para receber as mensagens dentro de sua conta do provedor WhatsApp Connector (o método POST deve ser usado): clique no botão da área de transferência para copiá-la",
+			"WELCOMEMESSAGE": "Esta é a primeira mensagem de resposta enviada para novas interações"
+		},
+		"ACCESSKEYID": "ID da chave de acesso",
+		"ACCOUNTSID": "SID da conta",
+		"ACTIONS": "Ações",
+		"ADD_NOTE": "Adicionar nota",
+		"ADD_WHATSAPPACCOUNT": "Adicionar",
+		"ADD_WHATSAPPCANNEDANSWER": "Adicionar resposta automática",
+		"ADD_WHATSAPPDISPOSITION": "Adicionar disposição do WhatsApp",
+		"ADD_WHATSAPPQUEUE": "Adicionar fila WhatsApp",
+		"ADVANCED": "Avançado",
+		"AGENT": "Agente",
+		"AGENTADD_QUEUE": "Adicionar agente à fila de WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Adicionar agente à conta do WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Adicionar agente à fila de WhatsApp",
+		"AGENTS": "Agentes",
+		"AGENTSADD_QUEUE": "Adicionar agentes à fila do WhatsApp",
+		"AGENTTRANSFER": "Transferência de Agente",
+		"AGENTTRANSFERTIMEOUT": "Tempo limite de transferência do agente",
+		"AGENT_TIMEOUT": "Tempo Limite do Agente",
+		"ALL": "Tudo",
+		"ALL_AGENTS": "Todos os Agentes",
+		"ALL_TEAMS": "Todas as equipes",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Token de autenticação",
+		"AUTOREPLY": "Resposta automatica",
+		"BACK": "Costas",
+		"BOTNAME": "Nome do bot",
+		"BUSY": "Ocupado",
+		"CANNEDANSWERS": "Respostas enlatadas",
+		"CANNED_ANSWER_NOT_FOUND": "Nenhuma resposta automática foi encontrada",
+		"CANNED_ANSWER_SEARCH": "Insira um texto para pesquisar uma resposta automática",
+		"CAPACITY": "Capacidade",
+		"CLOSE": "Perto",
+		"CLOSED": "Fechadas",
+		"CLOSEMETHOD": "Método Fechar",
+		"CLOSEURL": "Fechar URL",
+		"COMMAND": "Comando",
+		"CONDITION": "Doença",
+		"CONTACT": "Contato",
+		"CREATED_AT": "Criado em",
+		"DEFAULT_PAUSE": "PAUSA PADRÃO",
+		"DELETE": "Excluir",
+		"DELETE_INTERACTION": "Excluir interação",
+		"DELETE_SELECTED": "Excluir selecionado",
+		"DELETE_WHATSAPPACCOUNT": "Excluir conta WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Excluído",
+		"DELETE_WHATSAPPDISPOSITION": "Excluir disposição do WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Excluir fila do WhatsApp",
+		"DESCRIPTION": "Descrição",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposição",
+		"DISPOSITIONS": "Disposições",
+		"DOWNLOAD_INTERACTION": "Baixar",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Baixar sem anexos",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Baixar com anexos",
+		"EDIT_AGENT": "Editar Agente",
+		"EDIT_AMAZONLEX": "Editar configuração Lex",
+		"EDIT_AUTOREPLY": "Editar resposta automática",
+		"EDIT_CLOSE": "Editar Fechar",
+		"EDIT_DIALOGFLOW": "Editar configuração do DialogFlow",
+		"EDIT_GOTOIF": "Editar Gotoif",
+		"EDIT_GOTOP": "Editar Gotop",
+		"EDIT_NOOP": "Editar Noop",
+		"EDIT_QUEUE": "Editar fila",
+		"EDIT_SYSTEM": "Editar Sistema",
+		"EDIT_TAG": "Editar etiqueta",
+		"EDIT_WHATSAPPACCOUNT": "Editar conta WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "Editar",
+		"EDIT_WHATSAPPDISPOSITION": "Editar disposição do WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "Editar fila de WhatsApp",
+		"FALSEPRIORITY": "Falsa Prioridade",
+		"GENERAL": "Geral",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Seja o melhor",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Vá para a fila de WhatsApp em tempo real",
+		"GO_TO_WHATSAPPACCOUNTS": "Ir para a conta",
+		"ID": "Eu iria",
+		"IDLE": "Ocioso",
+		"INSERT_MESSAGE_HERE": "Insira a mensagem aqui",
+		"INTERACTIONS": "Interações",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Vá para Interações",
+		"KEY": "Chave",
+		"LANGUAGE": "Língua",
+		"LASTMESSAGE": "Última mensagem",
+		"LEXREGION": "Região",
+		"LIST": "Lista",
+		"LOGGED_IN": "Conectado (SIP conectado)",
+		"LOGIN_TIME": "Hora de Login",
+		"LOGOUT": "Sair",
+		"MANDATORYDISPOSITION": "Disposição Obrigatória",
+		"MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
+		"MORE": "Mais",
+		"MOTIONPROXY": "Domínio de proxy ou movimento",
+		"MULTI_SELECT_TOGGLE": "Alternância de seleção múltipla",
+		"NAME": "Nome",
+		"NEW_WHATSAPPACCOUNT": "Nova conta WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Nova resposta predeterminada do WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Nova disposição do WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Nova fila de WhatsApp",
+		"NOOP": "Noop",
+		"NOTE": "Nota",
+		"NOTIFICATION": "Notificação",
+		"NOTIFICATIONSHAKE": "Mexe",
+		"NOTIFICATIONSOUND": "Som",
+		"NOTIFICATIONTEMPLATE": "Modelo",
+		"NO_AGENT_ONLINE": "Nenhum agente online",
+		"NO_AVAILABLE_INFO": "Sem informações disponíveis",
+		"NO_INTERACTION_AVAILABLE": "Nenhuma interação disponível",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nenhuma resposta automática do WhatsApp disponível",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Nenhum dispositivo WhatsApp disponível",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nenhuma conta WhatsApp disponível",
+		"OF": "do",
+		"OPENED": "Aberto",
+		"PAGE": "Página",
+		"PARTIALPAUSE": "Pausa Parcial",
+		"PAUSE": "Pausa",
+		"PAUSED": "Em pausa",
+		"PAUSE_TIME": "Tempo de pausa",
+		"PHONE": "telefone",
+		"PRIORITY": "Prioridade",
+		"PROXY": "Proxy",
+		"QUEUE": "Fila",
+		"QUEUES": "Filas",
+		"QUEUETRANSFER": "Transferência de fila",
+		"QUEUETRANSFERTIMEOUT": "Tempo limite de transferência da fila",
+		"READY": "pronto",
+		"REALTIME": "Tempo real",
+		"RECEIVEURL": "Receber URL",
+		"REFRESH_INTERACTIONS": "Atualizar interações",
+		"REMOTE": "Controlo remoto",
+		"ROWSPERPAGE": "Linhas por página",
+		"SAVE": "Salve ",
+		"SCREENRECORDING": "Gerenciar gravação de tela",
+		"SEARCH_FOR_ANYONE": "Procurar",
+		"SECRETACCESSKEY": "Chave secreta de acesso",
+		"SELECTED": "Selecionado",
+		"SELECTED_AGENTS": "Agentes Selecionados",
+		"SELECTED_TEAMS": "Times Selecionados",
+		"SELECT_ALL": "Selecionar tudo",
+		"SELECT_NONE": "Selecione nenhum",
+		"SEND": "Enviar",
+		"SETTINGS": "Configurações",
+		"SPYINTERACTION": "Interação de espião",
+		"STARTEDAT": "Começou às",
+		"START_SCREENRECORDING": "Iniciar gravação de tela",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Parar a gravação da tela",
+		"STRATEGY": "Estratégia",
+		"SYSTEM": "Sistema",
+		"TAG": "Tag",
+		"TAGS": "Tag",
+		"TEAMADD_WHATSAPPQUEUE": "Adicionar equipe à fila do WhatsApp",
+		"TEAMS_ASSOCIATION": "Associação de equipes",
+		"TEXT": "Texto",
+		"TIMEOUT": "Tempo esgotado",
+		"TIMER": "Cronômetro",
+		"TIMES": "Vezes",
+		"TO": "Para",
+		"TOKEN": "Símbolo",
+		"TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
+		"TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
+		"TRANSFER": "Transferir",
+		"TRUEPRIORITY": "Verdadeira prioridade",
+		"TYPE": "Tipo",
+		"UNPAUSE": "Fim da pausa",
+		"VALUE": "Valor",
+		"VARIABLE": "Variável",
+		"WAITFORTHEASSIGNEDAGENT": "Espere pelo agente atribuído",
+		"WAITING": "Esperando",
+		"WELCOMEMESSAGE": "Mensagem de boas-vindas",
+		"WHATSAPP": "Conector WhatsApp",
+		"WHATSAPPACCOUNTS": "Contas WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "Respostas predeterminadas do WhatsApp",
+		"WHATSAPPDISPOSITIONS": "Dispositivos do WhatsApp",
+		"WHATSAPPQUEUES": "WhatsApp Queues"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/pt-PT.json b/public/app/main/apps/whatsapp/i18n/pt-PT.json
new file mode 100644
index 0000000..c0d578a
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/pt-PT.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Campo Obrigatório",
+			"ACCOUNTSID_REQUIRED": "Campo Obrigatório",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
+			"AGENT_REQUIRED": "Campo Obrigatório",
+			"AGENT_TIMEOUT_REQUIRED": "Campo Obrigatório",
+			"AUTHTOKEN_REQUIRED": "Campo Obrigatório",
+			"BOTNAME_REQUIRED": "Campo Obrigatório",
+			"COMMAND_REQUIRED": "Campo Obrigatório",
+			"CONDITION_REQUIRED": "Campo Obrigatório",
+			"DESCRIPTION_REQUIRED": "Campo Obrigatório",
+			"DISPOSITION_REQUIRED": "Campo Obrigatório",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"FALSEPRIORITY_REQUIRED": "Campo Obrigatório",
+			"KEY_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
+			"KEY_REQUIRED": "Campo Obrigatório",
+			"LANGUAGE_REQUIRED": "Campo Mandtório",
+			"LEXREGION_REQUIRED": "Campo Obrigatório",
+			"LIST_REQUIRED": "Campo Obrigatório",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo Obrigatório",
+			"NAME_REQUIRED": "Campo Obrigatório",
+			"PHONE_REQUIRED": "Campo Obrigatório",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"PRIORITY_REQUIRED": "Campo Obrigatório",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
+			"QUEUE_REQUIRED": "Campo Obrigatório",
+			"SECRETACCESSKEY_REQUIRED": "Campo Obrigatório",
+			"TAG_REQUIRED": "Campo Obrigatório",
+			"TEXT_REQUIRED": "Campo Obrigatório",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"TIMEOUT_REQUIRED": "Campo Obrigatório",
+			"TIMES_REQUIRED": "Campo Obrigatório",
+			"TOKEN_REQUIRED": "Campo Obrigatório",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"TRUEPRIORITY_REQUIRED": "Campo Obrigatório",
+			"TYPE_REQUIRED": "Campo Obrigatório",
+			"VALUE_REQUIRED": "Campo Obrigatório",
+			"VARIABLE_REQUIRED": "Campo Obrigatório",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
+			"WELCOMEMESSAGE_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Campo Obrigatório"
+		},
+		"HELP": {
+			"LIST": "Lista do gerenciador de contatos usada para associar contatos",
+			"MANDATORYDISPOSITION": "Disposição obrigatória",
+			"MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
+			"MOTIONPROXY": "O campo deve ter o seguinte formato: <protocol>: // <ipaddress> [: <port>]. Exemplo: https: //X.Y.Z.W",
+			"NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
+			"RECEIVEURL": "Esta é a string de API gerada automaticamente que você precisa usar para receber as mensagens dentro de sua conta do provedor WhatsApp Connector (o método POST deve ser usado): clique no botão da área de transferência para copiá-la",
+			"WELCOMEMESSAGE": "Esta é a primeira mensagem de resposta enviada para novas interações"
+		},
+		"ACCESSKEYID": "ID da chave de acesso",
+		"ACCOUNTSID": "SID da conta",
+		"ACTIONS": "Ações",
+		"ADD_NOTE": "Adicionar nota",
+		"ADD_WHATSAPPACCOUNT": "Adicionar",
+		"ADD_WHATSAPPCANNEDANSWER": "Adicionar resposta automática",
+		"ADD_WHATSAPPDISPOSITION": "Adicionar disposição do WhatsApp",
+		"ADD_WHATSAPPQUEUE": "Adicionar fila WhatsApp",
+		"ADVANCED": "Avançado",
+		"AGENT": "Agente",
+		"AGENTADD_QUEUE": "Adicionar agente à fila de WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Adicionar agente à conta do WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Adicionar agente à fila de WhatsApp",
+		"AGENTS": "Agentes",
+		"AGENTSADD_QUEUE": "Adicionar agentes à fila do WhatsApp",
+		"AGENTTRANSFER": "Transferência de Agente",
+		"AGENTTRANSFERTIMEOUT": "Tempo limite de transferência do agente",
+		"AGENT_TIMEOUT": "Tempo Limite do Agente",
+		"ALL": "Tudo",
+		"ALL_AGENTS": "Todos os Agentes",
+		"ALL_TEAMS": "Todas as equipes",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Token de autenticação",
+		"AUTOREPLY": "Resposta automatica",
+		"BACK": "Costas",
+		"BOTNAME": "Nome do bot",
+		"BUSY": "Ocupado",
+		"CANNEDANSWERS": "Respostas enlatadas",
+		"CANNED_ANSWER_NOT_FOUND": "Nenhuma resposta automática foi encontrada",
+		"CANNED_ANSWER_SEARCH": "Insira um texto para pesquisar uma resposta automática",
+		"CAPACITY": "Capacidade",
+		"CLOSE": "Perto",
+		"CLOSED": "Fechadas",
+		"CLOSEMETHOD": "Método Fechar",
+		"CLOSEURL": "Fechar URL",
+		"COMMAND": "Comando",
+		"CONDITION": "Doença",
+		"CONTACT": "Contato",
+		"CREATED_AT": "Criado em",
+		"DEFAULT_PAUSE": "PAUSA PADRÃO",
+		"DELETE": "Excluir",
+		"DELETE_INTERACTION": "Excluir interação",
+		"DELETE_SELECTED": "Excluir selecionado",
+		"DELETE_WHATSAPPACCOUNT": "Excluir conta WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Excluído",
+		"DELETE_WHATSAPPDISPOSITION": "Excluir disposição do WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Excluir fila do WhatsApp",
+		"DESCRIPTION": "Descrição",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposição",
+		"DISPOSITIONS": "Disposições",
+		"DOWNLOAD_INTERACTION": "Baixar",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Baixar sem anexos",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Baixar com anexos",
+		"EDIT_AGENT": "Editar Agente",
+		"EDIT_AMAZONLEX": "Editar configuração Lex",
+		"EDIT_AUTOREPLY": "Editar resposta automática",
+		"EDIT_CLOSE": "Editar Fechar",
+		"EDIT_DIALOGFLOW": "Editar configuração do DialogFlow",
+		"EDIT_GOTOIF": "Editar Gotoif",
+		"EDIT_GOTOP": "Editar Gotop",
+		"EDIT_NOOP": "Editar Noop",
+		"EDIT_QUEUE": "Editar fila",
+		"EDIT_SYSTEM": "Editar Sistema",
+		"EDIT_TAG": "Editar etiqueta",
+		"EDIT_WHATSAPPACCOUNT": "Editar conta WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "Editar",
+		"EDIT_WHATSAPPDISPOSITION": "Editar disposição do WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "Editar fila de WhatsApp",
+		"FALSEPRIORITY": "Falsa Prioridade",
+		"GENERAL": "Geral",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Seja o melhor",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Vá para a fila de WhatsApp em tempo real",
+		"GO_TO_WHATSAPPACCOUNTS": "Ir para a conta",
+		"ID": "Eu iria",
+		"IDLE": "Ocioso",
+		"INSERT_MESSAGE_HERE": "Insira a mensagem aqui",
+		"INTERACTIONS": "Interações",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Vá para Interações",
+		"KEY": "Chave",
+		"LANGUAGE": "Língua",
+		"LASTMESSAGE": "Última mensagem",
+		"LEXREGION": "Região",
+		"LIST": "Lista",
+		"LOGGED_IN": "Conectado (SIP conectado)",
+		"LOGIN_TIME": "Hora de Login",
+		"LOGOUT": "Sair",
+		"MANDATORYDISPOSITION": "Disposição Obrigatória",
+		"MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
+		"MORE": "Mais",
+		"MOTIONPROXY": "Domínio de proxy ou movimento",
+		"MULTI_SELECT_TOGGLE": "Alternância de seleção múltipla",
+		"NAME": "Nome",
+		"NEW_WHATSAPPACCOUNT": "Nova conta WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Nova resposta predeterminada do WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Nova disposição do WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Nova fila de WhatsApp",
+		"NOOP": "Noop",
+		"NOTE": "Nota",
+		"NOTIFICATION": "Notificação",
+		"NOTIFICATIONSHAKE": "Mexe",
+		"NOTIFICATIONSOUND": "Som",
+		"NOTIFICATIONTEMPLATE": "Modelo",
+		"NO_AGENT_ONLINE": "Nenhum agente online",
+		"NO_AVAILABLE_INFO": "Sem informações disponíveis",
+		"NO_INTERACTION_AVAILABLE": "Nenhuma interação disponível",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nenhuma resposta automática do WhatsApp disponível",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Nenhum dispositivo WhatsApp disponível",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nenhuma conta WhatsApp disponível",
+		"OF": "do",
+		"OPENED": "Aberto",
+		"PAGE": "Página",
+		"PARTIALPAUSE": "Pausa Parcial",
+		"PAUSE": "Pausa",
+		"PAUSED": "Em pausa",
+		"PAUSE_TIME": "Tempo de pausa",
+		"PHONE": "telefone",
+		"PRIORITY": "Prioridade",
+		"PROXY": "Proxy",
+		"QUEUE": "Fila",
+		"QUEUES": "Filas",
+		"QUEUETRANSFER": "Transferência de fila",
+		"QUEUETRANSFERTIMEOUT": "Tempo limite de transferência da fila",
+		"READY": "pronto",
+		"REALTIME": "Tempo real",
+		"RECEIVEURL": "Receber URL",
+		"REFRESH_INTERACTIONS": "Atualizar interações",
+		"REMOTE": "Controlo remoto",
+		"ROWSPERPAGE": "Linhas por página",
+		"SAVE": "Salve ",
+		"SCREENRECORDING": "Gerenciar gravação de tela",
+		"SEARCH_FOR_ANYONE": "Procurar",
+		"SECRETACCESSKEY": "Chave secreta de acesso",
+		"SELECTED": "Selecionado",
+		"SELECTED_AGENTS": "Agentes Selecionados",
+		"SELECTED_TEAMS": "Times Selecionados",
+		"SELECT_ALL": "Selecionar tudo",
+		"SELECT_NONE": "Selecione nenhum",
+		"SEND": "Enviar",
+		"SETTINGS": "Configurações",
+		"SPYINTERACTION": "Interação de espião",
+		"STARTEDAT": "Começou às",
+		"START_SCREENRECORDING": "Iniciar gravação de tela",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Parar a gravação da tela",
+		"STRATEGY": "Estratégia",
+		"SYSTEM": "Sistema",
+		"TAG": "Tag",
+		"TAGS": "Tag",
+		"TEAMADD_WHATSAPPQUEUE": "Adicionar equipe à fila do WhatsApp",
+		"TEAMS_ASSOCIATION": "Associação de equipes",
+		"TEXT": "Texto",
+		"TIMEOUT": "Tempo esgotado",
+		"TIMER": "Cronômetro",
+		"TIMES": "Vezes",
+		"TO": "Para",
+		"TOKEN": "Símbolo",
+		"TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
+		"TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
+		"TRANSFER": "Transferir",
+		"TRUEPRIORITY": "Verdadeira prioridade",
+		"TYPE": "Tipo",
+		"UNPAUSE": "Fim da pausa",
+		"VALUE": "Valor",
+		"VARIABLE": "Variável",
+		"WAITFORTHEASSIGNEDAGENT": "Espere pelo agente atribuído",
+		"WAITING": "Esperando",
+		"WELCOMEMESSAGE": "Mensagem de boas-vindas",
+		"WHATSAPP": "Conector WhatsApp",
+		"WHATSAPPACCOUNTS": "Contas WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "Respostas predeterminadas do WhatsApp",
+		"WHATSAPPDISPOSITIONS": "Dispositivos do WhatsApp",
+		"WHATSAPPQUEUES": "WhatsApp Queues"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/ru.json b/public/app/main/apps/whatsapp/i18n/ru.json
new file mode 100644
index 0000000..f558db7
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/ru.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Обязательное поле",
+			"ACCOUNTSID_REQUIRED": "Обязательное поле",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
+			"AGENT_REQUIRED": "Обязательное поле",
+			"AGENT_TIMEOUT_REQUIRED": "Обязательное поле",
+			"AUTHTOKEN_REQUIRED": "Обязательное поле",
+			"BOTNAME_REQUIRED": "Обязательное поле",
+			"COMMAND_REQUIRED": "Обязательное поле",
+			"CONDITION_REQUIRED": "Обязательное поле",
+			"DESCRIPTION_REQUIRED": "Обязательное поле",
+			"DISPOSITION_REQUIRED": "Обязательное поле",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+			"FALSEPRIORITY_REQUIRED": "Обязательное поле",
+			"KEY_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}.",
+			"KEY_REQUIRED": "Обязательное поле",
+			"LANGUAGE_REQUIRED": "Обязательное поле",
+			"LEXREGION_REQUIRED": "Обязательное поле",
+			"LIST_REQUIRED": "Обязательное поле",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле",
+			"NAME_REQUIRED": "Обязательное поле",
+			"PHONE_REQUIRED": "Обязательное поле",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+			"PRIORITY_REQUIRED": "Обязательное поле",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
+			"QUEUE_REQUIRED": "Обязательное поле",
+			"SECRETACCESSKEY_REQUIRED": "Обязательное поле",
+			"TAG_REQUIRED": "Обязательное поле",
+			"TEXT_REQUIRED": "Обязательное поле",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+			"TIMEOUT_REQUIRED": "Обязательное поле",
+			"TIMES_REQUIRED": "Обязательное поле",
+			"TOKEN_REQUIRED": "Обязательное поле",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+			"TRUEPRIORITY_REQUIRED": "Обязательное поле",
+			"TYPE_REQUIRED": "Обязательное поле",
+			"VALUE_REQUIRED": "Обязательное поле",
+			"VARIABLE_REQUIRED": "Обязательное поле",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Обязательное поле",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}.",
+			"WELCOMEMESSAGE_REQUIRED": "Обязательное поле"
+		},
+		"HELP": {
+			"LIST": "Список диспетчера контактов, используемый для связывания контактов",
+			"MANDATORYDISPOSITION": "Обязательное распоряжение",
+			"MANDATORYDISPOSITIONPAUSEID": "Приостановить использование, когда включено обязательное удаление",
+			"MOTIONPROXY": "Поле должно иметь следующий формат: <протокол>: // <IP-адрес> [: <порт>]. Пример: https: //X.Y.Z.W",
+			"NAME": "Поддерживаются только цифры, буквы и определенные символы (._).",
+			"RECEIVEURL": "Это автоматически сгенерированная строка API, которую необходимо использовать для получения сообщений внутри вашей учетной записи от поставщика коннектора WhatsApp (необходимо использовать метод POST): нажмите кнопку буфера обмена, чтобы скопировать ее",
+			"WELCOMEMESSAGE": "Это первое ответное сообщение, отправленное на новые взаимодействия"
+		},
+		"ACCESSKEYID": "Идентификатор ключа доступа",
+		"ACCOUNTSID": "SID аккаунта",
+		"ACTIONS": "действия",
+		"ADD_NOTE": "Добавить заметку",
+		"ADD_WHATSAPPACCOUNT": "Добавить",
+		"ADD_WHATSAPPCANNEDANSWER": "Добавить шаблон ответа",
+		"ADD_WHATSAPPDISPOSITION": "Добавить расположение WhatsApp",
+		"ADD_WHATSAPPQUEUE": "Добавить очередь WhatsApp",
+		"ADVANCED": "продвинутый",
+		"AGENT": "агент",
+		"AGENTADD_QUEUE": "Добавить агента в очередь WhatsApp",
+		"AGENTADD_WHATSAPPACCOUNT": "Добавить агента в учетную запись WhatsApp",
+		"AGENTADD_WHATSAPPQUEUE": "Добавить агента в очередь WhatsApp",
+		"AGENTS": "Агенты",
+		"AGENTSADD_QUEUE": "Добавить агентов в очередь WhatsApp",
+		"AGENTTRANSFER": "Перенос агента",
+		"AGENTTRANSFERTIMEOUT": "Тайм-аут передачи агента",
+		"AGENT_TIMEOUT": "Тайм-аут агента",
+		"ALL": "Все",
+		"ALL_AGENTS": "Все агенты",
+		"ALL_TEAMS": "Все команды",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Токен аутентификации",
+		"AUTOREPLY": "Автоответчик",
+		"BACK": "назад",
+		"BOTNAME": "Имя бота",
+		"BUSY": "Занятый",
+		"CANNEDANSWERS": "Готовые ответы",
+		"CANNED_ANSWER_NOT_FOUND": "Шаблонных ответов не найдено",
+		"CANNED_ANSWER_SEARCH": "Введите текст для поиска в шаблонном ответе",
+		"CAPACITY": "Вместимость",
+		"CLOSE": "близко",
+		"CLOSED": "Закрыто",
+		"CLOSEMETHOD": "Метод закрытия",
+		"CLOSEURL": "Закрыть URL",
+		"COMMAND": "команда",
+		"CONDITION": "Состояние",
+		"CONTACT": "контакт",
+		"CREATED_AT": "Создано на",
+		"DEFAULT_PAUSE": "ПАУЗА ПО УМОЛЧАНИЮ",
+		"DELETE": "Удалить",
+		"DELETE_INTERACTION": "Удалить взаимодействие",
+		"DELETE_SELECTED": "Удалить выбранное",
+		"DELETE_WHATSAPPACCOUNT": "Удалить учетную запись WhatsApp",
+		"DELETE_WHATSAPPCANNEDANSWER": "Исключен",
+		"DELETE_WHATSAPPDISPOSITION": "Удалить расположение WhatsApp",
+		"DELETE_WHATSAPPQUEUE": "Удалить очередь WhatsApp",
+		"DESCRIPTION": "Описание",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "диспозиция",
+		"DISPOSITIONS": "Распоряжения",
+		"DOWNLOAD_INTERACTION": "Скачать",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Скачать без вложений",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Скачать с вложениями",
+		"EDIT_AGENT": "Редактировать агент",
+		"EDIT_AMAZONLEX": "Изменить конфигурацию Lex",
+		"EDIT_AUTOREPLY": "Редактировать автоматический ответ",
+		"EDIT_CLOSE": "Редактировать Закрыть",
+		"EDIT_DIALOGFLOW": "Изменить конфигурацию DialogFlow",
+		"EDIT_GOTOIF": "Изменить Gotoif",
+		"EDIT_GOTOP": "Изменить Gotop",
+		"EDIT_NOOP": "Редактировать Noop",
+		"EDIT_QUEUE": "Изменить очередь",
+		"EDIT_SYSTEM": "Изменить систему",
+		"EDIT_TAG": "Изменить тег",
+		"EDIT_WHATSAPPACCOUNT": "Редактировать учетную запись WhatsApp",
+		"EDIT_WHATSAPPCANNEDANSWER": "редактировать",
+		"EDIT_WHATSAPPDISPOSITION": "Изменить расположение WhatsApp",
+		"EDIT_WHATSAPPQUEUE": "Изменить очередь WhatsApp",
+		"FALSEPRIORITY": "Ложный приоритет",
+		"GENERAL": "Общее",
+		"GOTOIF": "GotoIf",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Перейти в очередь WhatsApp в реальном времени",
+		"GO_TO_WHATSAPPACCOUNTS": "Перейти к учетной записи",
+		"ID": "Мне бы",
+		"IDLE": "вхолостую",
+		"INSERT_MESSAGE_HERE": "Вставьте сообщение сюда",
+		"INTERACTIONS": "взаимодействия",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Перейти к взаимодействиям",
+		"KEY": "ключ",
+		"LANGUAGE": "язык",
+		"LASTMESSAGE": "Последнее сообщение",
+		"LEXREGION": "Область",
+		"LIST": "Список",
+		"LOGGED_IN": "Авторизован (SIP подключен)",
+		"LOGIN_TIME": "Время входа",
+		"LOGOUT": "Выйти",
+		"MANDATORYDISPOSITION": "Обязательное распоряжение",
+		"MANDATORYDISPOSITIONPAUSEID": "Приостановить использование, когда включено обязательное удаление",
+		"MORE": "Больше",
+		"MOTIONPROXY": "Прокси или домен движения",
+		"MULTI_SELECT_TOGGLE": "Переключатель множественного выбора",
+		"NAME": "название",
+		"NEW_WHATSAPPACCOUNT": "Новая учетная запись WhatsApp",
+		"NEW_WHATSAPPCANNEDANSWER": "Новый готовый ответ WhatsApp",
+		"NEW_WHATSAPPDISPOSITION": "Новое расположение WhatsApp",
+		"NEW_WHATSAPPQUEUE": "Новая очередь WhatsApp",
+		"NOOP": "Noop",
+		"NOTE": "Заметка",
+		"NOTIFICATION": "уведомление",
+		"NOTIFICATIONSHAKE": "Встряска",
+		"NOTIFICATIONSOUND": "Звук",
+		"NOTIFICATIONTEMPLATE": "шаблон",
+		"NO_AGENT_ONLINE": "Нет агента онлайн",
+		"NO_AVAILABLE_INFO": "Нет доступной информации",
+		"NO_INTERACTION_AVAILABLE": "Нет доступных взаимодействий",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Нет готовых ответов WhatsApp",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Нет доступных диспозиций WhatsApp",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Нет доступных учетных записей WhatsApp",
+		"OF": "из",
+		"OPENED": "открытый",
+		"PAGE": "страница",
+		"PARTIALPAUSE": "Частичная пауза",
+		"PAUSE": "Пауза",
+		"PAUSED": "Приостановлено",
+		"PAUSE_TIME": "Время паузы",
+		"PHONE": "Телефон",
+		"PRIORITY": "приоритет",
+		"PROXY": "полномочие",
+		"QUEUE": "Очередь",
+		"QUEUES": "Очереди",
+		"QUEUETRANSFER": "Передача очереди",
+		"QUEUETRANSFERTIMEOUT": "Тайм-аут передачи очереди",
+		"READY": "готов",
+		"REALTIME": "в режиме реального времени",
+		"RECEIVEURL": "Получить URL",
+		"REFRESH_INTERACTIONS": "Обновить взаимодействия",
+		"REMOTE": "Удаленный",
+		"ROWSPERPAGE": "Строк на странице",
+		"SAVE": "Сохранить",
+		"SCREENRECORDING": "Управление записью экрана",
+		"SEARCH_FOR_ANYONE": "Поиск",
+		"SECRETACCESSKEY": "Секрет ключа доступа",
+		"SELECTED": "выбранный",
+		"SELECTED_AGENTS": "Избранные агенты",
+		"SELECTED_TEAMS": "Избранные команды",
+		"SELECT_ALL": "Выбрать все",
+		"SELECT_NONE": "Ничего не выберите",
+		"SEND": "послать",
+		"SETTINGS": "настройки",
+		"SPYINTERACTION": "Шпионское взаимодействие",
+		"STARTEDAT": "Начато в",
+		"START_SCREENRECORDING": "Начать запись экрана",
+		"STATUS": "Положение дел",
+		"STOP_SCREENRECORDING": "Остановить запись экрана",
+		"STRATEGY": "стратегия",
+		"SYSTEM": "система",
+		"TAG": "Тег",
+		"TAGS": "Теги",
+		"TEAMADD_WHATSAPPQUEUE": "Добавить команду в очередь WhatsApp",
+		"TEAMS_ASSOCIATION": "Ассоциация команд",
+		"TEXT": "Текст",
+		"TIMEOUT": "Тайм-аут",
+		"TIMER": "таймер",
+		"TIMES": "раз",
+		"TO": "к",
+		"TOKEN": "знак",
+		"TOOLTIP_SCREENRECORDING_OFF": "Доступна запись экрана",
+		"TOOLTIP_SCREENRECORDING_ON": "Выполняется запись экрана",
+		"TRANSFER": "Перевод",
+		"TRUEPRIORITY": "Истинный приоритет",
+		"TYPE": "Тип",
+		"UNPAUSE": "Конец паузы",
+		"VALUE": "Стоимость",
+		"VARIABLE": "переменная",
+		"WAITFORTHEASSIGNEDAGENT": "Подождите, пока назначенный агент",
+		"WAITING": "Ожидание",
+		"WELCOMEMESSAGE": "Приветствие",
+		"WHATSAPP": "Коннектор WhatsApp",
+		"WHATSAPPACCOUNTS": "Аккаунты WhatsApp",
+		"WHATSAPPCANNEDANSWERS": "Готовые ответы WhatsApp",
+		"WHATSAPPDISPOSITIONS": "WhatsApp Диспозиции",
+		"WHATSAPPQUEUES": "Очереди WhatsApp"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/sv.json b/public/app/main/apps/whatsapp/i18n/sv.json
new file mode 100644
index 0000000..8f05e66
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/sv.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Obligatoriskt fält",
+			"ACCOUNTSID_REQUIRED": "Obligatoriskt fält",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
+			"AGENT_REQUIRED": "Obligatoriskt fält",
+			"AGENT_TIMEOUT_REQUIRED": "Obligatoriskt fält",
+			"AUTHTOKEN_REQUIRED": "Obligatoriskt fält",
+			"BOTNAME_REQUIRED": "Obligatoriskt fält",
+			"COMMAND_REQUIRED": "Obligatoriskt fält",
+			"CONDITION_REQUIRED": "Obligatoriskt fält",
+			"DESCRIPTION_REQUIRED": "Obligatoriskt fält",
+			"DISPOSITION_REQUIRED": "Obligatoriskt fält",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
+			"FALSEPRIORITY_REQUIRED": "Obligatoriskt fält",
+			"KEY_MAX_LENGTH": "Värdet måste ha en maximal längd lika med {{max}}",
+			"KEY_REQUIRED": "Obligatoriskt fält",
+			"LANGUAGE_REQUIRED": "Mandtory Field",
+			"LEXREGION_REQUIRED": "Obligatoriskt fält",
+			"LIST_REQUIRED": "Obligatoriskt fält",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält",
+			"NAME_REQUIRED": "Obligatoriskt fält",
+			"PHONE_REQUIRED": "Obligatoriskt fält",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
+			"PRIORITY_REQUIRED": "Obligatoriskt fält",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
+			"QUEUE_REQUIRED": "Obligatoriskt fält",
+			"SECRETACCESSKEY_REQUIRED": "Obligatoriskt fält",
+			"TAG_REQUIRED": "Obligatoriskt fält",
+			"TEXT_REQUIRED": "Obligatoriskt fält",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
+			"TIMEOUT_REQUIRED": "Obligatoriskt fält",
+			"TIMES_REQUIRED": "Obligatoriskt fält",
+			"TOKEN_REQUIRED": "Obligatoriskt fält",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
+			"TRUEPRIORITY_REQUIRED": "Obligatoriskt fält",
+			"TYPE_REQUIRED": "Obligatoriskt fält",
+			"VALUE_REQUIRED": "Obligatoriskt fält",
+			"VARIABLE_REQUIRED": "Obligatoriskt fält",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriskt fält",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Värdet måste ha en maximal längd lika med {{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "Obligatoriskt fält"
+		},
+		"HELP": {
+			"LIST": "Lista över kontakthanterare som används för att koppla kontakter",
+			"MANDATORYDISPOSITION": "Obligatorisk disposition",
+			"MANDATORYDISPOSITIONPAUSEID": "Pausa för användning när obligatorisk disposition är aktiverad",
+			"MOTIONPROXY": "Fältet måste ha följande format: <protokoll>: // <adressadress> [: <port>]. Exempel: https: //X.Y.Z.W",
+			"NAME": "Endast siffror, bokstäver och specifika tecken (._) stöds",
+			"RECEIVEURL": "Det här är den auto-genererade API-strängen du behöver använda för att ta emot meddelandena i ditt konto från din WhatsApp Connector-leverantör (POST-metoden måste användas): klicka på urklippsknappen för att kopiera den",
+			"WELCOMEMESSAGE": "Detta är det första svarmeddelandet som skickas till nya interaktioner"
+		},
+		"ACCESSKEYID": "Åtkomstnyckel-ID",
+		"ACCOUNTSID": "Konto SID",
+		"ACTIONS": "Handlingar",
+		"ADD_NOTE": "Lägg till anteckning",
+		"ADD_WHATSAPPACCOUNT": "Lägg till",
+		"ADD_WHATSAPPCANNEDANSWER": "Lägg till konserverat svar",
+		"ADD_WHATSAPPDISPOSITION": "Lägg till WhatsApp Disposition",
+		"ADD_WHATSAPPQUEUE": "Lägg till WhatsApp-kön",
+		"ADVANCED": "Avancerad",
+		"AGENT": "Ombud",
+		"AGENTADD_QUEUE": "Lägg till agent i WhatsApp-kö",
+		"AGENTADD_WHATSAPPACCOUNT": "Lägg till agent till WhatsApp-konto",
+		"AGENTADD_WHATSAPPQUEUE": "Lägg till agent i WhatsApp-kö",
+		"AGENTS": "agenter",
+		"AGENTSADD_QUEUE": "Lägg till agenter i WhatsApp-kön",
+		"AGENTTRANSFER": "Agentöverföring",
+		"AGENTTRANSFERTIMEOUT": "Agentöverföring Timeout",
+		"AGENT_TIMEOUT": "Agent Timeout",
+		"ALL": "Allt",
+		"ALL_AGENTS": "Alla ombud",
+		"ALL_TEAMS": "Alla lag",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Autentisk symbol",
+		"AUTOREPLY": "Auto-svar",
+		"BACK": "Tillbaka",
+		"BOTNAME": "Bot Namn",
+		"BUSY": "Upptagen",
+		"CANNEDANSWERS": "Konserverade svar",
+		"CANNED_ANSWER_NOT_FOUND": "Inga konserverade svar hittades",
+		"CANNED_ANSWER_SEARCH": "Ange en text för att söka i ett konserverat svar",
+		"CAPACITY": "Kapacitet",
+		"CLOSE": "Stänga",
+		"CLOSED": "Stängd",
+		"CLOSEMETHOD": "Stäng metod",
+		"CLOSEURL": "Stäng URL",
+		"COMMAND": "Kommando",
+		"CONDITION": "Tillstånd",
+		"CONTACT": "Kontakt",
+		"CREATED_AT": "Skapad vid",
+		"DEFAULT_PAUSE": "DEFAULT PAUSE",
+		"DELETE": "Radera",
+		"DELETE_INTERACTION": "Radera interaktion",
+		"DELETE_SELECTED": "Radera valda",
+		"DELETE_WHATSAPPACCOUNT": "Radera WhatsApp-konto",
+		"DELETE_WHATSAPPCANNEDANSWER": "raderade",
+		"DELETE_WHATSAPPDISPOSITION": "Radera WhatsApp-disposition",
+		"DELETE_WHATSAPPQUEUE": "Radera WhatsApp-kö",
+		"DESCRIPTION": "Beskrivning",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "Disposition",
+		"DISPOSITIONS": "dispositioner",
+		"DOWNLOAD_INTERACTION": "Ladda ner",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Ladda ner utan bilagor",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Ladda ner med bilagor",
+		"EDIT_AGENT": "Redigera agent",
+		"EDIT_AMAZONLEX": "Redigera Lex-konfiguration",
+		"EDIT_AUTOREPLY": "Redigera autosvar",
+		"EDIT_CLOSE": "Redigera stäng",
+		"EDIT_DIALOGFLOW": "Redigera DialogFlow-konfiguration",
+		"EDIT_GOTOIF": "Redigera Gotoif",
+		"EDIT_GOTOP": "Redigera Gotop",
+		"EDIT_NOOP": "Redigera Noop",
+		"EDIT_QUEUE": "Redigera kö",
+		"EDIT_SYSTEM": "Redigera system",
+		"EDIT_TAG": "Redigera tagg",
+		"EDIT_WHATSAPPACCOUNT": "Redigera WhatsApp-konto",
+		"EDIT_WHATSAPPCANNEDANSWER": "Redigera",
+		"EDIT_WHATSAPPDISPOSITION": "Redigera WhatsApp Disposition",
+		"EDIT_WHATSAPPQUEUE": "Redigera WhatsApp-kö",
+		"FALSEPRIORITY": "Falsk prioritet",
+		"GENERAL": "Allmän",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Gå till realtid WhatsApp-kö",
+		"GO_TO_WHATSAPPACCOUNTS": "Gå till konto",
+		"ID": "Id",
+		"IDLE": "På tomgång",
+		"INSERT_MESSAGE_HERE": "Sätt in meddelandet här",
+		"INTERACTIONS": "interaktioner",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Gå till interaktioner",
+		"KEY": "Nyckel",
+		"LANGUAGE": "Språk",
+		"LASTMESSAGE": "Senaste meddelandet",
+		"LEXREGION": "Område",
+		"LIST": "Lista",
+		"LOGGED_IN": "Inloggad (SIP ansluten)",
+		"LOGIN_TIME": "Inloggningstid",
+		"LOGOUT": "Logga ut",
+		"MANDATORYDISPOSITION": "Obligatorisk disposition",
+		"MANDATORYDISPOSITIONPAUSEID": "Pausa för användning när obligatorisk disposition är aktiverad",
+		"MORE": "Mer",
+		"MOTIONPROXY": "Proxy- eller rörelsedomän",
+		"MULTI_SELECT_TOGGLE": "Multivalsväxel",
+		"NAME": "namn",
+		"NEW_WHATSAPPACCOUNT": "Nytt WhatsApp-konto",
+		"NEW_WHATSAPPCANNEDANSWER": "Nytt WhatsApp konserverat svar",
+		"NEW_WHATSAPPDISPOSITION": "Ny WhatsApp-disposition",
+		"NEW_WHATSAPPQUEUE": "Ny WhatsApp-kö",
+		"NOOP": "Noop",
+		"NOTE": "Notera",
+		"NOTIFICATION": "Underrättelse",
+		"NOTIFICATIONSHAKE": "Skaka",
+		"NOTIFICATIONSOUND": "Ljud",
+		"NOTIFICATIONTEMPLATE": "Mall",
+		"NO_AGENT_ONLINE": "Ingen agent online",
+		"NO_AVAILABLE_INFO": "Ingen tillgänglig information",
+		"NO_INTERACTION_AVAILABLE": "Inga interaktioner tillgängliga",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Inga WhatsApp-konserverade svar tillgängliga",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Inga WhatsApp-dispositioner tillgängliga",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Inga WhatsApp-konton tillgängliga",
+		"OF": "av",
+		"OPENED": "Öppnad",
+		"PAGE": "Sida",
+		"PARTIALPAUSE": "Partiell paus",
+		"PAUSE": "Paus",
+		"PAUSED": "Pausad",
+		"PAUSE_TIME": "Pausa tid",
+		"PHONE": "Telefon",
+		"PRIORITY": "Prioritet",
+		"PROXY": "Ombud",
+		"QUEUE": "Kö",
+		"QUEUES": "köer",
+		"QUEUETRANSFER": "Kööverföring",
+		"QUEUETRANSFERTIMEOUT": "Timeout för kööverföring",
+		"READY": "Redo",
+		"REALTIME": "Realtid",
+		"RECEIVEURL": "Få URL",
+		"REFRESH_INTERACTIONS": "Uppdatera interaktioner",
+		"REMOTE": "Avlägsen",
+		"ROWSPERPAGE": "Rader per sida",
+		"SAVE": "Spara",
+		"SCREENRECORDING": "Hantera skärminspelning",
+		"SEARCH_FOR_ANYONE": "Sök",
+		"SECRETACCESSKEY": "Åtkomstnyckelhemlighet",
+		"SELECTED": "Vald",
+		"SELECTED_AGENTS": "Valda medel",
+		"SELECTED_TEAMS": "Valda lag",
+		"SELECT_ALL": "Välj alla",
+		"SELECT_NONE": "Välj ingen",
+		"SEND": "Skicka",
+		"SETTINGS": "inställningar",
+		"SPYINTERACTION": "Spioninteraktion",
+		"STARTEDAT": "Började kl",
+		"START_SCREENRECORDING": "Starta skärminspelning",
+		"STATUS": "Status",
+		"STOP_SCREENRECORDING": "Stop Screen Inspelning",
+		"STRATEGY": "Strategi",
+		"SYSTEM": "Systemet",
+		"TAG": "Märka",
+		"TAGS": "Tags",
+		"TEAMADD_WHATSAPPQUEUE": "Lägg till team i WhatsApp-kö",
+		"TEAMS_ASSOCIATION": "Team Association",
+		"TEXT": "Text",
+		"TIMEOUT": "Paus",
+		"TIMER": "Timer",
+		"TIMES": "Times",
+		"TO": "Till",
+		"TOKEN": "Tecken",
+		"TOOLTIP_SCREENRECORDING_OFF": "Skärminspelning tillgänglig",
+		"TOOLTIP_SCREENRECORDING_ON": "Skärminspelning pågår",
+		"TRANSFER": "Överföra",
+		"TRUEPRIORITY": "Sann prioritet",
+		"TYPE": "Typ",
+		"UNPAUSE": "Slutpaus",
+		"VALUE": "Värde",
+		"VARIABLE": "Variabel",
+		"WAITFORTHEASSIGNEDAGENT": "Vänta på den tilldelade agenten",
+		"WAITING": "Väntar",
+		"WELCOMEMESSAGE": "Välkomstmeddelande",
+		"WHATSAPP": "WhatsApp-anslutning",
+		"WHATSAPPACCOUNTS": "WhatsApp-konton",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp konserverade svar",
+		"WHATSAPPDISPOSITIONS": "WhatsApp-dispositioner",
+		"WHATSAPPQUEUES": "WhatsApp-köer"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/tr.json b/public/app/main/apps/whatsapp/i18n/tr.json
new file mode 100644
index 0000000..7880c04
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/tr.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "Zorunlu alan",
+			"ACCOUNTSID_REQUIRED": "Zorunlu alan",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
+			"AGENT_REQUIRED": "Zorunlu alan",
+			"AGENT_TIMEOUT_REQUIRED": "Zorunlu alan",
+			"AUTHTOKEN_REQUIRED": "Zorunlu alan",
+			"BOTNAME_REQUIRED": "Zorunlu alan",
+			"COMMAND_REQUIRED": "Zorunlu alan",
+			"CONDITION_REQUIRED": "Zorunlu alan",
+			"DESCRIPTION_REQUIRED": "Zorunlu alan",
+			"DISPOSITION_REQUIRED": "Zorunlu alan",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
+			"FALSEPRIORITY_REQUIRED": "Zorunlu alan",
+			"KEY_MAX_LENGTH": "Değerin maksimum uzunluğu {{max}} olmalıdır",
+			"KEY_REQUIRED": "Zorunlu alan",
+			"LANGUAGE_REQUIRED": "Zorunlu Alan",
+			"LEXREGION_REQUIRED": "Zorunlu alan",
+			"LIST_REQUIRED": "Zorunlu alan",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan",
+			"NAME_REQUIRED": "Zorunlu alan",
+			"PHONE_REQUIRED": "Zorunlu alan",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
+			"PRIORITY_REQUIRED": "Zorunlu alan",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
+			"QUEUE_REQUIRED": "Zorunlu alan",
+			"SECRETACCESSKEY_REQUIRED": "Zorunlu alan",
+			"TAG_REQUIRED": "Zorunlu alan",
+			"TEXT_REQUIRED": "Zorunlu alan",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
+			"TIMEOUT_REQUIRED": "Zorunlu alan",
+			"TIMES_REQUIRED": "Zorunlu alan",
+			"TOKEN_REQUIRED": "Zorunlu alan",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
+			"TRUEPRIORITY_REQUIRED": "Zorunlu alan",
+			"TYPE_REQUIRED": "Zorunlu alan",
+			"VALUE_REQUIRED": "Zorunlu alan",
+			"VARIABLE_REQUIRED": "Zorunlu alan",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "Zorunlu alan",
+			"WELCOMEMESSAGE_MAX_LENGTH": "Değerin maksimum uzunluğu {{max}} olmalıdır",
+			"WELCOMEMESSAGE_REQUIRED": "Zorunlu alan"
+		},
+		"HELP": {
+			"LIST": "Kişileri ilişkilendirmek için kullanılan Kişi Yöneticisi listesi",
+			"MANDATORYDISPOSITION": "Zorunlu tasarruf",
+			"MANDATORYDISPOSITIONPAUSEID": "Zorunlu elden çıkarma etkinleştirildiğinde kullanmak için duraklatın",
+			"MOTIONPROXY": "Alan şu biçime sahip olmalıdır: <protokol>: // <ipaddress> [: <port>]. Örnek: https: //X.Y.Z.W",
+			"NAME": "Yalnızca sayılar, harfler ve belirli karakterler (._) desteklenir",
+			"RECEIVEURL": "Bu, hesabınızın içindeki mesajları WhatsApp Bağlayıcı sağlayıcınızdan almak için kullanmanız gereken otomatik oluşturulan API dizesidir (POST yöntemi kullanılmalıdır): kopyalamak için pano düğmesine tıklayın",
+			"WELCOMEMESSAGE": "Bu, yeni etkileşimlere gönderilen ilk yanıt mesajıdır"
+		},
+		"ACCESSKEYID": "Erişim Anahtarı Kimliği",
+		"ACCOUNTSID": "Hesap SID'si",
+		"ACTIONS": "Hareketler",
+		"ADD_NOTE": "Not ekle",
+		"ADD_WHATSAPPACCOUNT": "Ekle",
+		"ADD_WHATSAPPCANNEDANSWER": "Hazır Cevap Ekle",
+		"ADD_WHATSAPPDISPOSITION": "WhatsApp Disposition Ekle",
+		"ADD_WHATSAPPQUEUE": "WhatsApp kuyruğu ekle",
+		"ADVANCED": "ileri",
+		"AGENT": "ajan",
+		"AGENTADD_QUEUE": "WhatsApp Sırasına Ajan Ekle",
+		"AGENTADD_WHATSAPPACCOUNT": "WhatsApp Hesabına Temsilci Ekle",
+		"AGENTADD_WHATSAPPQUEUE": "WhatsApp Sırasına Ajan Ekle",
+		"AGENTS": "Ajanlar",
+		"AGENTSADD_QUEUE": "Temsilcileri WhatsApp kuyruğuna ekleyin",
+		"AGENTTRANSFER": "Acente Transferi",
+		"AGENTTRANSFERTIMEOUT": "Temsilci Aktarım Zaman Aşımı",
+		"AGENT_TIMEOUT": "Aracı Zaman Aşımı",
+		"ALL": "Herşey",
+		"ALL_AGENTS": "Tüm Temsilciler",
+		"ALL_TEAMS": "Tüm Takımlar",
+		"AMAZONLEX": "AmazonLex",
+		"AUTHTOKEN": "Yetkilendirme Jetonu",
+		"AUTOREPLY": "Otomatik cevap",
+		"BACK": "Geri",
+		"BOTNAME": "Bot Adı",
+		"BUSY": "Meşgul",
+		"CANNEDANSWERS": "Hazır Cevaplar",
+		"CANNED_ANSWER_NOT_FOUND": "Hazır Cevap bulunamadı",
+		"CANNED_ANSWER_SEARCH": "Hazır Yanıtı aramak için bir metin girin",
+		"CAPACITY": "Kapasite",
+		"CLOSE": "Kapat",
+		"CLOSED": "Kapalı",
+		"CLOSEMETHOD": "Kapatma Yöntemi",
+		"CLOSEURL": "URL'yi kapat",
+		"COMMAND": "komuta",
+		"CONDITION": "Durum",
+		"CONTACT": "İletişim",
+		"CREATED_AT": "Tarihinde oluşturuldu",
+		"DEFAULT_PAUSE": "VARSAYILAN DURAKLAT",
+		"DELETE": "Sil",
+		"DELETE_INTERACTION": "Etkileşimi Sil",
+		"DELETE_SELECTED": "Silme seçildi",
+		"DELETE_WHATSAPPACCOUNT": "WhatsApp Hesabını Sil",
+		"DELETE_WHATSAPPCANNEDANSWER": "silindi",
+		"DELETE_WHATSAPPDISPOSITION": "WhatsApp Disposition'ı Sil",
+		"DELETE_WHATSAPPQUEUE": "WhatsApp Sırasını Sil",
+		"DESCRIPTION": "Açıklama",
+		"DIALOGFLOW": "DialogFlow",
+		"DISPOSITION": "eğilim",
+		"DISPOSITIONS": "plânlar",
+		"DOWNLOAD_INTERACTION": "İndir",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "Ekler Olmadan İndir",
+		"DOWNLOAD_WITH_ATTACHMENTS": "Eklerle İndir",
+		"EDIT_AGENT": "Aracıyı Düzenle",
+		"EDIT_AMAZONLEX": "Lex yapılandırmasını düzenleyin",
+		"EDIT_AUTOREPLY": "Otomatik Yanıtı Düzenle",
+		"EDIT_CLOSE": "Düzenle Kapat",
+		"EDIT_DIALOGFLOW": "DialogFlow yapılandırmasını düzenle",
+		"EDIT_GOTOIF": "Gotoif'i Düzenle",
+		"EDIT_GOTOP": "Gotop'u Düzenle",
+		"EDIT_NOOP": "Noop'u Düzenle",
+		"EDIT_QUEUE": "Kuyruğu Düzenle",
+		"EDIT_SYSTEM": "Sistemi Düzenle",
+		"EDIT_TAG": "Etiketi düzenle",
+		"EDIT_WHATSAPPACCOUNT": "WhatsApp Hesabını Düzenle",
+		"EDIT_WHATSAPPCANNEDANSWER": "Düzenle",
+		"EDIT_WHATSAPPDISPOSITION": "WhatsApp Disposition'ı Düzenle",
+		"EDIT_WHATSAPPQUEUE": "WhatsApp Sırasını Düzenle",
+		"FALSEPRIORITY": "Yanlış Öncelik",
+		"GENERAL": "Genel",
+		"GOTOIF": "Gotoif",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "Gerçek Zamanlı WhatsApp Sırasına Git",
+		"GO_TO_WHATSAPPACCOUNTS": "Hesaba Git",
+		"ID": "İD",
+		"IDLE": "Boşta",
+		"INSERT_MESSAGE_HERE": "Buraya mesaj ekleyin",
+		"INTERACTIONS": "Etkileşimler",
+		"INTERACTIONS_WHATSAPPACCOUNT": "Etkileşimler'e git",
+		"KEY": "anahtar",
+		"LANGUAGE": "Dil",
+		"LASTMESSAGE": "Son Mesaj",
+		"LEXREGION": "bölge",
+		"LIST": "Liste",
+		"LOGGED_IN": "Oturum Açıldı (SIP Bağlı)",
+		"LOGIN_TIME": "Giriş Zamanı",
+		"LOGOUT": "Çıkış Yap",
+		"MANDATORYDISPOSITION": "Zorunlu Elden Çıkarma",
+		"MANDATORYDISPOSITIONPAUSEID": "Zorunlu elden çıkarma etkinleştirildiğinde kullanmak için duraklatın",
+		"MORE": "Daha",
+		"MOTIONPROXY": "Proxy veya Hareket Etki Alanı",
+		"MULTI_SELECT_TOGGLE": "Çoklu seçim geçişi",
+		"NAME": "ad",
+		"NEW_WHATSAPPACCOUNT": "Yeni WhatsApp Hesabı",
+		"NEW_WHATSAPPCANNEDANSWER": "Yeni WhatsApp Hazır Yanıtı",
+		"NEW_WHATSAPPDISPOSITION": "Yeni WhatsApp Düzenleme",
+		"NEW_WHATSAPPQUEUE": "Yeni WhatsApp Sırası",
+		"NOOP": "Noop",
+		"NOTE": "Not",
+		"NOTIFICATION": "Bildirim",
+		"NOTIFICATIONSHAKE": "Sallamak",
+		"NOTIFICATIONSOUND": "Ses",
+		"NOTIFICATIONTEMPLATE": "şablon",
+		"NO_AGENT_ONLINE": "Çevrimiçi Temsilci Yok",
+		"NO_AVAILABLE_INFO": "Mevcut Bilgi Yok",
+		"NO_INTERACTION_AVAILABLE": "Kullanılabilir Etkileşim Yok",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsApp Hazır Cevap Yok",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "Kullanılabilir WhatsApp İmkanı Yok",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "WhatsApp Hesabı yok",
+		"OF": "nın-nin",
+		"OPENED": "Açıldı",
+		"PAGE": "Sayfa",
+		"PARTIALPAUSE": "Kısmi Duraklatma",
+		"PAUSE": "Duraklat",
+		"PAUSED": "Durduruldu",
+		"PAUSE_TIME": "Durma zamanı",
+		"PHONE": "Telefon",
+		"PRIORITY": "öncelik",
+		"PROXY": "vekil",
+		"QUEUE": "kuyruk",
+		"QUEUES": "Kuyruklar",
+		"QUEUETRANSFER": "Kuyruk Transferi",
+		"QUEUETRANSFERTIMEOUT": "Kuyruk Aktarımı Zaman Aşımı",
+		"READY": "hazır",
+		"REALTIME": "Gerçek zaman",
+		"RECEIVEURL": "URL al",
+		"REFRESH_INTERACTIONS": "Etkileşimleri Yenile",
+		"REMOTE": "uzak",
+		"ROWSPERPAGE": "Sayfa başına satır",
+		"SAVE": "Kayıt etmek",
+		"SCREENRECORDING": "Ekran Kaydını Yönetin",
+		"SEARCH_FOR_ANYONE": "Arama",
+		"SECRETACCESSKEY": "Erişim anahtarı sırrı",
+		"SELECTED": "seçilmiş",
+		"SELECTED_AGENTS": "Seçilmiş Temsilciler",
+		"SELECTED_TEAMS": "Seçilmiş Takımlar",
+		"SELECT_ALL": "Hepsini seç",
+		"SELECT_NONE": "Hiçbirini Seçme",
+		"SEND": "Gönder",
+		"SETTINGS": "Ayarlar",
+		"SPYINTERACTION": "Casus Etkileşimi",
+		"STARTEDAT": "Başlangıç",
+		"START_SCREENRECORDING": "Ekran Kaydını Başlat",
+		"STATUS": "durum",
+		"STOP_SCREENRECORDING": "Ekran Kaydını Durdur",
+		"STRATEGY": "strateji",
+		"SYSTEM": "sistem",
+		"TAG": "Etiket",
+		"TAGS": "Etiketler",
+		"TEAMADD_WHATSAPPQUEUE": "WhatsApp Sırasına Takım Ekle",
+		"TEAMS_ASSOCIATION": "Takımlar Derneği",
+		"TEXT": "Metin",
+		"TIMEOUT": "Zaman aşımı",
+		"TIMER": "kronometre",
+		"TIMES": "Zamanlar",
+		"TO": "için",
+		"TOKEN": "Jeton",
+		"TOOLTIP_SCREENRECORDING_OFF": "Ekran Kaydı mevcut",
+		"TOOLTIP_SCREENRECORDING_ON": "Ekran Kaydı devam ediyor",
+		"TRANSFER": "Aktar",
+		"TRUEPRIORITY": "Gerçek Öncelik",
+		"TYPE": "tip",
+		"UNPAUSE": "Duraklatmayı Bitir",
+		"VALUE": "değer",
+		"VARIABLE": "Değişken",
+		"WAITFORTHEASSIGNEDAGENT": "Atanan temsilciyi bekleyin",
+		"WAITING": "Bekleme",
+		"WELCOMEMESSAGE": "Karşılama mesajı",
+		"WHATSAPP": "WhatsApp Bağlayıcısı",
+		"WHATSAPPACCOUNTS": "WhatsApp Hesapları",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp Hazır Cevapları",
+		"WHATSAPPDISPOSITIONS": "WhatsApp Eğilimleri",
+		"WHATSAPPQUEUES": "WhatsApp Kuyrukları"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/zh-CN.json b/public/app/main/apps/whatsapp/i18n/zh-CN.json
new file mode 100644
index 0000000..6d0d93b
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/zh-CN.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "必填项",
+			"ACCOUNTSID_REQUIRED": "必填项",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "必填项",
+			"AGENT_REQUIRED": "必填项",
+			"AGENT_TIMEOUT_REQUIRED": "必填项",
+			"AUTHTOKEN_REQUIRED": "必填项",
+			"BOTNAME_REQUIRED": "必填项",
+			"COMMAND_REQUIRED": "必填项",
+			"CONDITION_REQUIRED": "必填项",
+			"DESCRIPTION_REQUIRED": "必填项",
+			"DISPOSITION_REQUIRED": "必填项",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+			"FALSEPRIORITY_REQUIRED": "必填项",
+			"KEY_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
+			"KEY_REQUIRED": "必填项",
+			"LANGUAGE_REQUIRED": "强制场",
+			"LEXREGION_REQUIRED": "必填项",
+			"LIST_REQUIRED": "必填项",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项",
+			"NAME_REQUIRED": "必填项",
+			"PHONE_REQUIRED": "必填项",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+			"PRIORITY_REQUIRED": "必填项",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "必填项",
+			"QUEUE_REQUIRED": "必填项",
+			"SECRETACCESSKEY_REQUIRED": "必填项",
+			"TAG_REQUIRED": "必填项",
+			"TEXT_REQUIRED": "必填项",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+			"TIMEOUT_REQUIRED": "必填项",
+			"TIMES_REQUIRED": "必填项",
+			"TOKEN_REQUIRED": "必填项",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+			"TRUEPRIORITY_REQUIRED": "必填项",
+			"TYPE_REQUIRED": "必填项",
+			"VALUE_REQUIRED": "必填项",
+			"VARIABLE_REQUIRED": "必填项",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填项",
+			"WELCOMEMESSAGE_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "必填项"
+		},
+		"HELP": {
+			"LIST": "用于关联联系人的联系人管理器列表",
+			"MANDATORYDISPOSITION": "强制性",
+			"MANDATORYDISPOSITIONPAUSEID": "启用强制处置后暂停使用",
+			"MOTIONPROXY": "该字段必须具有以下格式：<协议>：// <ipaddress> [：<端口>]。范例：https：//X.Y.Z.W",
+			"NAME": "仅支持数字，字母和特定字符（._）",
+			"RECEIVEURL": "这是自动生成的API字符串，您需要使用它来从WhatsApp Connector提供程序接收帐户内的消息（必须使用POST方法）：单击剪贴板按钮将其复制",
+			"WELCOMEMESSAGE": "这是发送给新交互的第一个响应消息"
+		},
+		"ACCESSKEYID": "访问密钥ID",
+		"ACCOUNTSID": "帐户SID",
+		"ACTIONS": "动作",
+		"ADD_NOTE": "加注",
+		"ADD_WHATSAPPACCOUNT": "加",
+		"ADD_WHATSAPPCANNEDANSWER": "添加罐头答案",
+		"ADD_WHATSAPPDISPOSITION": "添加WhatsApp配置",
+		"ADD_WHATSAPPQUEUE": "添加WhatsApp队列",
+		"ADVANCED": "高级",
+		"AGENT": "代理商",
+		"AGENTADD_QUEUE": "将代理添加到WhatsApp队列",
+		"AGENTADD_WHATSAPPACCOUNT": "将代理添加到WhatsApp帐户",
+		"AGENTADD_WHATSAPPQUEUE": "将代理添加到WhatsApp队列",
+		"AGENTS": "代理商",
+		"AGENTSADD_QUEUE": "将代理添加到WhatsApp队列",
+		"AGENTTRANSFER": "代理转移",
+		"AGENTTRANSFERTIMEOUT": "代理转移超时",
+		"AGENT_TIMEOUT": "代理超时",
+		"ALL": "所有",
+		"ALL_AGENTS": "所有代理商",
+		"ALL_TEAMS": "所有团队",
+		"AMAZONLEX": "亚马逊Lex",
+		"AUTHTOKEN": "验证令牌",
+		"AUTOREPLY": "自动回复",
+		"BACK": "背部",
+		"BOTNAME": "机器人名称",
+		"BUSY": "忙",
+		"CANNEDANSWERS": "罐装答案",
+		"CANNED_ANSWER_NOT_FOUND": "找不到罐头答案",
+		"CANNED_ANSWER_SEARCH": "输入文本以搜索罐装答案",
+		"CAPACITY": "容量",
+		"CLOSE": "关",
+		"CLOSED": "关闭",
+		"CLOSEMETHOD": "关闭方法",
+		"CLOSEURL": "关闭网址",
+		"COMMAND": "命令",
+		"CONDITION": "健康）状况",
+		"CONTACT": "联系",
+		"CREATED_AT": "创建于",
+		"DEFAULT_PAUSE": "默认暂停",
+		"DELETE": "删除",
+		"DELETE_INTERACTION": "删除互动",
+		"DELETE_SELECTED": "删除所选",
+		"DELETE_WHATSAPPACCOUNT": "删除WhatsApp帐户",
+		"DELETE_WHATSAPPCANNEDANSWER": "已删除",
+		"DELETE_WHATSAPPDISPOSITION": "删除WhatsApp配置",
+		"DELETE_WHATSAPPQUEUE": "删除WhatsApp队列",
+		"DESCRIPTION": "描述",
+		"DIALOGFLOW": "对话流",
+		"DISPOSITION": "性格",
+		"DISPOSITIONS": "性格",
+		"DOWNLOAD_INTERACTION": "下载",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "不带附件下载",
+		"DOWNLOAD_WITH_ATTACHMENTS": "带附件下载",
+		"EDIT_AGENT": "编辑代理",
+		"EDIT_AMAZONLEX": "编辑Lex配置",
+		"EDIT_AUTOREPLY": "编辑自动回复",
+		"EDIT_CLOSE": "编辑关闭",
+		"EDIT_DIALOGFLOW": "编辑DialogFlow配置",
+		"EDIT_GOTOIF": "编辑Gotoif",
+		"EDIT_GOTOP": "编辑Gotop",
+		"EDIT_NOOP": "编辑Noop",
+		"EDIT_QUEUE": "编辑队列",
+		"EDIT_SYSTEM": "编辑系统",
+		"EDIT_TAG": "编辑标签",
+		"EDIT_WHATSAPPACCOUNT": "编辑WhatsApp帐户",
+		"EDIT_WHATSAPPCANNEDANSWER": "编辑",
+		"EDIT_WHATSAPPDISPOSITION": "编辑WhatsApp的处置",
+		"EDIT_WHATSAPPQUEUE": "编辑WhatsApp队列",
+		"FALSEPRIORITY": "错误的优先权",
+		"GENERAL": "一般",
+		"GOTOIF": "后藤",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "转到实时WhatsApp队列",
+		"GO_TO_WHATSAPPACCOUNTS": "转到帐户",
+		"ID": "ID",
+		"IDLE": "闲",
+		"INSERT_MESSAGE_HERE": "在此处插入消息",
+		"INTERACTIONS": "互动互动",
+		"INTERACTIONS_WHATSAPPACCOUNT": "前往互动",
+		"KEY": "键",
+		"LANGUAGE": "语言",
+		"LASTMESSAGE": "最后留言",
+		"LEXREGION": "地区",
+		"LIST": "清单",
+		"LOGGED_IN": "已登录（已连接SIP）",
+		"LOGIN_TIME": "登录时间",
+		"LOGOUT": "登出",
+		"MANDATORYDISPOSITION": "强制性",
+		"MANDATORYDISPOSITIONPAUSEID": "启用强制处置后暂停使用",
+		"MORE": "更多",
+		"MOTIONPROXY": "代理或运动域",
+		"MULTI_SELECT_TOGGLE": "多选切换",
+		"NAME": "名称",
+		"NEW_WHATSAPPACCOUNT": "新的WhatsApp帐户",
+		"NEW_WHATSAPPCANNEDANSWER": "新的WhatsApp罐头答案",
+		"NEW_WHATSAPPDISPOSITION": "新的WhatsApp配置",
+		"NEW_WHATSAPPQUEUE": "新的WhatsApp队列",
+		"NOOP": "op",
+		"NOTE": "注意",
+		"NOTIFICATION": "通知",
+		"NOTIFICATIONSHAKE": "摇",
+		"NOTIFICATIONSOUND": "声音",
+		"NOTIFICATIONTEMPLATE": "模板",
+		"NO_AGENT_ONLINE": "没有在线代理",
+		"NO_AVAILABLE_INFO": "无可用信息",
+		"NO_INTERACTION_AVAILABLE": "没有互动",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "没有可用的WhatsApp罐装答案",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "没有可用的WhatsApp配置",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "没有可用的WhatsApp帐户",
+		"OF": "的",
+		"OPENED": "开了",
+		"PAGE": "页",
+		"PARTIALPAUSE": "部分暂停",
+		"PAUSE": "暂停",
+		"PAUSED": "已暂停",
+		"PAUSE_TIME": "暂停时间",
+		"PHONE": "电话",
+		"PRIORITY": "优先",
+		"PROXY": "代理",
+		"QUEUE": "队列",
+		"QUEUES": "s列",
+		"QUEUETRANSFER": "队列传输",
+		"QUEUETRANSFERTIMEOUT": "队列传输超时",
+		"READY": "准备",
+		"REALTIME": "即时的",
+		"RECEIVEURL": "接收网址",
+		"REFRESH_INTERACTIONS": "刷新互动",
+		"REMOTE": "远程",
+		"ROWSPERPAGE": "每页行数",
+		"SAVE": "保存",
+		"SCREENRECORDING": "管理屏幕录像",
+		"SEARCH_FOR_ANYONE": "搜索",
+		"SECRETACCESSKEY": "访问密钥机密",
+		"SELECTED": "已选",
+		"SELECTED_AGENTS": "选定代理商",
+		"SELECTED_TEAMS": "入选团队",
+		"SELECT_ALL": "全选",
+		"SELECT_NONE": "选择无",
+		"SEND": "发送",
+		"SETTINGS": "设定值",
+		"SPYINTERACTION": "间谍互动",
+		"STARTEDAT": "开始于",
+		"START_SCREENRECORDING": "开始屏幕录制",
+		"STATUS": "状态",
+		"STOP_SCREENRECORDING": "停止画面录制",
+		"STRATEGY": "战略",
+		"SYSTEM": "系统",
+		"TAG": "标签",
+		"TAGS": "标签",
+		"TEAMADD_WHATSAPPQUEUE": "将团队添加到WhatsApp队列",
+		"TEAMS_ASSOCIATION": "车队协会",
+		"TEXT": "文本",
+		"TIMEOUT": "超时",
+		"TIMER": "计时器",
+		"TIMES": "时报",
+		"TO": "至",
+		"TOKEN": "代币",
+		"TOOLTIP_SCREENRECORDING_OFF": "屏幕录像可用",
+		"TOOLTIP_SCREENRECORDING_ON": "屏幕录像正在进行中",
+		"TRANSFER": "转让",
+		"TRUEPRIORITY": "真正的优先",
+		"TYPE": "类型",
+		"UNPAUSE": "结束暂停",
+		"VALUE": "值",
+		"VARIABLE": "变量",
+		"WAITFORTHEASSIGNEDAGENT": "等待分配的代理",
+		"WAITING": "等候",
+		"WELCOMEMESSAGE": "欢迎留言",
+		"WHATSAPP": "WhatsApp连接器",
+		"WHATSAPPACCOUNTS": "WhatsApp帐户",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp罐装答案",
+		"WHATSAPPDISPOSITIONS": "WhatsApp的处置",
+		"WHATSAPPQUEUES": "WhatsApp队列"
+	}
+}
\ No newline at end of file
diff --git a/public/app/main/apps/whatsapp/i18n/zh-TW.json b/public/app/main/apps/whatsapp/i18n/zh-TW.json
new file mode 100644
index 0000000..59d7f70
--- /dev/null
+++ b/public/app/main/apps/whatsapp/i18n/zh-TW.json
@@ -0,0 +1,236 @@
+{
+	"WHATSAPP": {
+		"ERRORS": {
+			"ACCESSKEYID_REQUIRED": "必填項",
+			"ACCOUNTSID_REQUIRED": "必填項",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+			"AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+			"AGENTTRANSFERTIMEOUT_REQUIRED": "必填項",
+			"AGENT_REQUIRED": "必填項",
+			"AGENT_TIMEOUT_REQUIRED": "必填項",
+			"AUTHTOKEN_REQUIRED": "必填項",
+			"BOTNAME_REQUIRED": "必填項",
+			"COMMAND_REQUIRED": "必填項",
+			"CONDITION_REQUIRED": "必填項",
+			"DESCRIPTION_REQUIRED": "必填項",
+			"DISPOSITION_REQUIRED": "必填項",
+			"FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+			"FALSEPRIORITY_REQUIRED": "必填項",
+			"KEY_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
+			"KEY_REQUIRED": "必填項",
+			"LANGUAGE_REQUIRED": "強制場",
+			"LEXREGION_REQUIRED": "必填項",
+			"LIST_REQUIRED": "必填項",
+			"MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項",
+			"NAME_REQUIRED": "必填項",
+			"PHONE_REQUIRED": "必填項",
+			"PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+			"PRIORITY_REQUIRED": "必填項",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+			"QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+			"QUEUETRANSFERTIMEOUT_REQUIRED": "必填項",
+			"QUEUE_REQUIRED": "必填項",
+			"SECRETACCESSKEY_REQUIRED": "必填項",
+			"TAG_REQUIRED": "必填項",
+			"TEXT_REQUIRED": "必填項",
+			"TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+			"TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+			"TIMEOUT_REQUIRED": "必填項",
+			"TIMES_REQUIRED": "必填項",
+			"TOKEN_REQUIRED": "必填項",
+			"TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+			"TRUEPRIORITY_REQUIRED": "必填項",
+			"TYPE_REQUIRED": "必填項",
+			"VALUE_REQUIRED": "必填項",
+			"VARIABLE_REQUIRED": "必填項",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+			"WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+			"WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填項",
+			"WELCOMEMESSAGE_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
+			"WELCOMEMESSAGE_REQUIRED": "必填項"
+		},
+		"HELP": {
+			"LIST": "用於關聯聯繫人的聯繫人管理器列表",
+			"MANDATORYDISPOSITION": "強制性",
+			"MANDATORYDISPOSITIONPAUSEID": "啟用強制處置後暫停使用",
+			"MOTIONPROXY": "該字段必須具有以下格式：<協議>：// <ipaddress> [：<端口>]。範例：https：//X.Y.Z.W",
+			"NAME": "僅支持數字，字母和特定字符（._）",
+			"RECEIVEURL": "這是自動生成的API字符串，您需要使用它來從WhatsApp Connector提供程序接收帳戶內的消息（必須使用POST方法）：單擊剪貼板按鈕將其複制",
+			"WELCOMEMESSAGE": "這是發送給新交互的第一個響應消息"
+		},
+		"ACCESSKEYID": "訪問密鑰ID",
+		"ACCOUNTSID": "帳戶SID",
+		"ACTIONS": "動作",
+		"ADD_NOTE": "加註",
+		"ADD_WHATSAPPACCOUNT": "加",
+		"ADD_WHATSAPPCANNEDANSWER": "添加罐頭答案",
+		"ADD_WHATSAPPDISPOSITION": "添加WhatsApp配置",
+		"ADD_WHATSAPPQUEUE": "添加WhatsApp隊列",
+		"ADVANCED": "高級",
+		"AGENT": "代理商",
+		"AGENTADD_QUEUE": "將代理添加到WhatsApp隊列",
+		"AGENTADD_WHATSAPPACCOUNT": "將代理添加到WhatsApp帳戶",
+		"AGENTADD_WHATSAPPQUEUE": "將代理添加到WhatsApp隊列",
+		"AGENTS": "代理商",
+		"AGENTSADD_QUEUE": "將代理添加到WhatsApp隊列",
+		"AGENTTRANSFER": "代理轉移",
+		"AGENTTRANSFERTIMEOUT": "代理轉移超時",
+		"AGENT_TIMEOUT": "代理超時",
+		"ALL": "所有",
+		"ALL_AGENTS": "所有代理商",
+		"ALL_TEAMS": "所有隊伍",
+		"AMAZONLEX": "亞馬遜Lex",
+		"AUTHTOKEN": "驗證令牌",
+		"AUTOREPLY": "自動回复",
+		"BACK": "背部",
+		"BOTNAME": "機器人名稱",
+		"BUSY": "忙",
+		"CANNEDANSWERS": "罐裝答案",
+		"CANNED_ANSWER_NOT_FOUND": "找不到罐頭答案",
+		"CANNED_ANSWER_SEARCH": "輸入文本以搜索罐裝答案",
+		"CAPACITY": "容量",
+		"CLOSE": "關",
+		"CLOSED": "關閉",
+		"CLOSEMETHOD": "關閉方法",
+		"CLOSEURL": "關閉網址",
+		"COMMAND": "命令",
+		"CONDITION": "健康）狀況",
+		"CONTACT": "聯繫",
+		"CREATED_AT": "創建於",
+		"DEFAULT_PAUSE": "默認暫停",
+		"DELETE": "刪除",
+		"DELETE_INTERACTION": "刪除互動",
+		"DELETE_SELECTED": "刪除所選",
+		"DELETE_WHATSAPPACCOUNT": "刪除WhatsApp帳戶",
+		"DELETE_WHATSAPPCANNEDANSWER": "已刪除",
+		"DELETE_WHATSAPPDISPOSITION": "刪除WhatsApp配置",
+		"DELETE_WHATSAPPQUEUE": "刪除WhatsApp隊列",
+		"DESCRIPTION": "描述",
+		"DIALOGFLOW": "對話流",
+		"DISPOSITION": "性格",
+		"DISPOSITIONS": "性格",
+		"DOWNLOAD_INTERACTION": "下載",
+		"DOWNLOAD_WITHOUT_ATTACHMENTS": "不帶附件下載",
+		"DOWNLOAD_WITH_ATTACHMENTS": "帶附件下載",
+		"EDIT_AGENT": "編輯代理",
+		"EDIT_AMAZONLEX": "編輯Lex配置",
+		"EDIT_AUTOREPLY": "編輯自動回复",
+		"EDIT_CLOSE": "編輯關閉",
+		"EDIT_DIALOGFLOW": "編輯DialogFlow配置",
+		"EDIT_GOTOIF": "編輯Gotoif",
+		"EDIT_GOTOP": "編輯Gotop",
+		"EDIT_NOOP": "編輯Noop",
+		"EDIT_QUEUE": "編輯隊列",
+		"EDIT_SYSTEM": "編輯系統",
+		"EDIT_TAG": "編輯標籤",
+		"EDIT_WHATSAPPACCOUNT": "編輯WhatsApp帳戶",
+		"EDIT_WHATSAPPCANNEDANSWER": "編輯",
+		"EDIT_WHATSAPPDISPOSITION": "編輯WhatsApp的處置",
+		"EDIT_WHATSAPPQUEUE": "編輯WhatsApp隊列",
+		"FALSEPRIORITY": "錯誤的優先權",
+		"GENERAL": "一般",
+		"GOTOIF": "後藤",
+		"GOTOP": "Gotop",
+		"GOTOREALTIME_WHATSAPPQUEUE": "轉到實時WhatsApp隊列",
+		"GO_TO_WHATSAPPACCOUNTS": "轉到帳戶",
+		"ID": "ID",
+		"IDLE": "閒",
+		"INSERT_MESSAGE_HERE": "在此處插入消息",
+		"INTERACTIONS": "互動互動",
+		"INTERACTIONS_WHATSAPPACCOUNT": "前往互動",
+		"KEY": "鍵",
+		"LANGUAGE": "語言",
+		"LASTMESSAGE": "最後留言",
+		"LEXREGION": "地區",
+		"LIST": "清單",
+		"LOGGED_IN": "已登錄（已連接SIP）",
+		"LOGIN_TIME": "登錄時間",
+		"LOGOUT": "登出",
+		"MANDATORYDISPOSITION": "強制性",
+		"MANDATORYDISPOSITIONPAUSEID": "啟用強制處置後暫停使用",
+		"MORE": "更多",
+		"MOTIONPROXY": "代理或運動域",
+		"MULTI_SELECT_TOGGLE": "多選切換",
+		"NAME": "名稱",
+		"NEW_WHATSAPPACCOUNT": "新的WhatsApp帳戶",
+		"NEW_WHATSAPPCANNEDANSWER": "新的WhatsApp罐頭答案",
+		"NEW_WHATSAPPDISPOSITION": "新的WhatsApp配置",
+		"NEW_WHATSAPPQUEUE": "新的WhatsApp隊列",
+		"NOOP": "op",
+		"NOTE": "注意",
+		"NOTIFICATION": "通知",
+		"NOTIFICATIONSHAKE": "搖",
+		"NOTIFICATIONSOUND": "聲音",
+		"NOTIFICATIONTEMPLATE": "模板",
+		"NO_AGENT_ONLINE": "沒有在線代理",
+		"NO_AVAILABLE_INFO": "無可用信息",
+		"NO_INTERACTION_AVAILABLE": "沒有互動",
+		"NO_WHATSAPPCANNEDANSWER_AVAILABLE": "沒有可用的WhatsApp罐裝答案",
+		"NO_WHATSAPPDISPOSITION_AVAILABLE": "沒有可用的WhatsApp配置",
+		"NO_WHATSAPP_ACCOUNTS_AVAILABLE": "沒有可用的WhatsApp帳戶",
+		"OF": "的",
+		"OPENED": "開了",
+		"PAGE": "頁",
+		"PARTIALPAUSE": "部分暫停",
+		"PAUSE": "暫停",
+		"PAUSED": "已暫停",
+		"PAUSE_TIME": "暫停時間",
+		"PHONE": "電話",
+		"PRIORITY": "優先",
+		"PROXY": "代理",
+		"QUEUE": "隊列",
+		"QUEUES": "s列",
+		"QUEUETRANSFER": "隊列傳輸",
+		"QUEUETRANSFERTIMEOUT": "隊列傳輸超時",
+		"READY": "準備",
+		"REALTIME": "即時的",
+		"RECEIVEURL": "接收網址",
+		"REFRESH_INTERACTIONS": "刷新互動",
+		"REMOTE": "遠程",
+		"ROWSPERPAGE": "每頁行數",
+		"SAVE": "保存",
+		"SCREENRECORDING": "管理屏幕錄像",
+		"SEARCH_FOR_ANYONE": "搜索",
+		"SECRETACCESSKEY": "訪問密鑰機密",
+		"SELECTED": "已選",
+		"SELECTED_AGENTS": "選定代理商",
+		"SELECTED_TEAMS": "入選隊伍",
+		"SELECT_ALL": "全選",
+		"SELECT_NONE": "選擇無",
+		"SEND": "發送",
+		"SETTINGS": "設定值",
+		"SPYINTERACTION": "間諜互動",
+		"STARTEDAT": "開始於",
+		"START_SCREENRECORDING": "開始屏幕錄製",
+		"STATUS": "狀態",
+		"STOP_SCREENRECORDING": "停止畫面錄製",
+		"STRATEGY": "戰略",
+		"SYSTEM": "系統",
+		"TAG": "標籤",
+		"TAGS": "標籤",
+		"TEAMADD_WHATSAPPQUEUE": "將團隊添加到WhatsApp隊列",
+		"TEAMS_ASSOCIATION": "車隊協會",
+		"TEXT": "文本",
+		"TIMEOUT": "超時",
+		"TIMER": "計時器",
+		"TIMES": "時報",
+		"TO": "至",
+		"TOKEN": "代幣",
+		"TOOLTIP_SCREENRECORDING_OFF": "屏幕錄像可用",
+		"TOOLTIP_SCREENRECORDING_ON": "屏幕記錄正在進行中",
+		"TRANSFER": "轉讓",
+		"TRUEPRIORITY": "真正的優先",
+		"TYPE": "類型",
+		"UNPAUSE": "結束暫停",
+		"VALUE": "值",
+		"VARIABLE": "變量",
+		"WAITFORTHEASSIGNEDAGENT": "等待分配的代理",
+		"WAITING": "等候",
+		"WELCOMEMESSAGE": "歡迎留言",
+		"WHATSAPP": "WhatsApp連接器",
+		"WHATSAPPACCOUNTS": "WhatsApp帳戶",
+		"WHATSAPPCANNEDANSWERS": "WhatsApp罐裝答案",
+		"WHATSAPPDISPOSITIONS": "WhatsApp的處置",
+		"WHATSAPPQUEUES": "WhatsApp隊列"
+	}
+}
\ No newline at end of file
diff --git a/public/app/quick-panel/i18n/cs.json b/public/app/quick-panel/i18n/cs.json
new file mode 100644
index 0000000..1db345d
--- /dev/null
+++ b/public/app/quick-panel/i18n/cs.json
@@ -0,0 +1,73 @@
+{
+	"QUICKPANEL": {
+		"EXPIRATION_GRAY_PERIOD": "Expiration Gray Period",
+		"NO_AVAILABLE_GROUPS": "No Available Groups",
+		"SAVE": "Save",
+		"INFO": "Info",
+		"NEW_CHATGROUP": "New Group",
+		"NAME": "Name",
+		"MEMBERS": "Members",
+		"ENABLE_WRITING": "Enable Writing",
+		"GROUPS": "Groups",
+		"YOU": "You + {{participants}}",
+		"NEW_INTERNAL_MESSAGE": "New internal message",
+		"DELETE": "Delete",
+		"SEARCH": "Search",
+		"USERS": "Users",
+		"TODAY": "TODAY",
+		"MONDAY": "Monday",
+		"TUESDAY": "Tuesday",
+		"WEDNESDAY": "Wednesday",
+		"THURSDAY": "Thursday",
+		"FRIDAY": "Friday",
+		"SATURDAY": "Saturday",
+		"SUNDAY": "Sunday",
+		"JANUARY": "January",
+		"FEBRUARY": "February",
+		"MARCH": "March",
+		"APRIL": "April",
+		"MAY": "May",
+		"JUNE": "June",
+		"JULY": "July",
+		"AUGUST": "August",
+		"SEPTEMBER": "September",
+		"OCTOBER": "October",
+		"NOVEMBER": "November",
+		"DECEMBER": "December",
+		"CHAT": "CHAT",
+		"ACTIVITY": "ACTIVITY",
+		"FRIENDS": "Friends",
+		"APP_SERVERS": "Application Servers",
+		"USER_STATS": "User Stats",
+		"EVENTS": "Events",
+		"NOTES": "Notes",
+		"QUICK_SETTINGS": "Quick Settings",
+		"NOTIFICATIONS": "Notifications",
+		"CLOUD_SYNC": "Cloud Sync",
+		"RETRO_THRUSTERS": "Retro Thrusters",
+		"RECENT": "Recent",
+		"START_NEW_CHAT": "Start New Chat",
+		"BACK": "Back",
+		"CALL": "Call",
+		"MORE": "More",
+		"SEND_MESSAGE": "Send message",
+		"REPLY_PLACEHOLDER": "Type and hit enter to send message",
+		"CONTACT_XCALLY_MOTION_SUPPORT": "Contact xCALLY Motion Support",
+		"EXPIRATION_DATE": "Expiration Date",
+		"EXPIRATION_REASON": "Expiration Reason",
+		"LICENSE": "License",
+		"NEW_TOKEN": "New Token",
+		"OLD_TOKEN": "Old Token",
+		"SEND_EMAIL_TO": "Send Email To",
+		"TOKEN": "Token",
+		"EXPIRATION_REASON_MESSAGE": "Your license has expired or your machine unique id has been updated due to a change to your system. Contact xCALLY Motion Support Team sending both your old and your new uuid.",
+		"GRAY_PERIOD_EXPIRATION": "Gray Period Expiration",
+		"EXPIRATION_REASON_MESSAGE_GRAY": "Your license has expired or has been disabled. Contact xCALLY Motion Support Team.",
+		"EXPIRATION_REASON_MESSAGE_CHANGED": "Your machine unique id has been updated due to a change to your system. Contact xCALLY Motion Support Team sending both your old and your new uuid.",
+		"MESSENGER_DISABLED": "The internal messaging is disabled for this agent!",
+		"WARNING": "Warning",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory Field"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/quick-panel/i18n/et.json b/public/app/quick-panel/i18n/et.json
new file mode 100644
index 0000000..1db345d
--- /dev/null
+++ b/public/app/quick-panel/i18n/et.json
@@ -0,0 +1,73 @@
+{
+	"QUICKPANEL": {
+		"EXPIRATION_GRAY_PERIOD": "Expiration Gray Period",
+		"NO_AVAILABLE_GROUPS": "No Available Groups",
+		"SAVE": "Save",
+		"INFO": "Info",
+		"NEW_CHATGROUP": "New Group",
+		"NAME": "Name",
+		"MEMBERS": "Members",
+		"ENABLE_WRITING": "Enable Writing",
+		"GROUPS": "Groups",
+		"YOU": "You + {{participants}}",
+		"NEW_INTERNAL_MESSAGE": "New internal message",
+		"DELETE": "Delete",
+		"SEARCH": "Search",
+		"USERS": "Users",
+		"TODAY": "TODAY",
+		"MONDAY": "Monday",
+		"TUESDAY": "Tuesday",
+		"WEDNESDAY": "Wednesday",
+		"THURSDAY": "Thursday",
+		"FRIDAY": "Friday",
+		"SATURDAY": "Saturday",
+		"SUNDAY": "Sunday",
+		"JANUARY": "January",
+		"FEBRUARY": "February",
+		"MARCH": "March",
+		"APRIL": "April",
+		"MAY": "May",
+		"JUNE": "June",
+		"JULY": "July",
+		"AUGUST": "August",
+		"SEPTEMBER": "September",
+		"OCTOBER": "October",
+		"NOVEMBER": "November",
+		"DECEMBER": "December",
+		"CHAT": "CHAT",
+		"ACTIVITY": "ACTIVITY",
+		"FRIENDS": "Friends",
+		"APP_SERVERS": "Application Servers",
+		"USER_STATS": "User Stats",
+		"EVENTS": "Events",
+		"NOTES": "Notes",
+		"QUICK_SETTINGS": "Quick Settings",
+		"NOTIFICATIONS": "Notifications",
+		"CLOUD_SYNC": "Cloud Sync",
+		"RETRO_THRUSTERS": "Retro Thrusters",
+		"RECENT": "Recent",
+		"START_NEW_CHAT": "Start New Chat",
+		"BACK": "Back",
+		"CALL": "Call",
+		"MORE": "More",
+		"SEND_MESSAGE": "Send message",
+		"REPLY_PLACEHOLDER": "Type and hit enter to send message",
+		"CONTACT_XCALLY_MOTION_SUPPORT": "Contact xCALLY Motion Support",
+		"EXPIRATION_DATE": "Expiration Date",
+		"EXPIRATION_REASON": "Expiration Reason",
+		"LICENSE": "License",
+		"NEW_TOKEN": "New Token",
+		"OLD_TOKEN": "Old Token",
+		"SEND_EMAIL_TO": "Send Email To",
+		"TOKEN": "Token",
+		"EXPIRATION_REASON_MESSAGE": "Your license has expired or your machine unique id has been updated due to a change to your system. Contact xCALLY Motion Support Team sending both your old and your new uuid.",
+		"GRAY_PERIOD_EXPIRATION": "Gray Period Expiration",
+		"EXPIRATION_REASON_MESSAGE_GRAY": "Your license has expired or has been disabled. Contact xCALLY Motion Support Team.",
+		"EXPIRATION_REASON_MESSAGE_CHANGED": "Your machine unique id has been updated due to a change to your system. Contact xCALLY Motion Support Team sending both your old and your new uuid.",
+		"MESSENGER_DISABLED": "The internal messaging is disabled for this agent!",
+		"WARNING": "Warning",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory Field"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/quick-panel/i18n/lt.json b/public/app/quick-panel/i18n/lt.json
new file mode 100644
index 0000000..1db345d
--- /dev/null
+++ b/public/app/quick-panel/i18n/lt.json
@@ -0,0 +1,73 @@
+{
+	"QUICKPANEL": {
+		"EXPIRATION_GRAY_PERIOD": "Expiration Gray Period",
+		"NO_AVAILABLE_GROUPS": "No Available Groups",
+		"SAVE": "Save",
+		"INFO": "Info",
+		"NEW_CHATGROUP": "New Group",
+		"NAME": "Name",
+		"MEMBERS": "Members",
+		"ENABLE_WRITING": "Enable Writing",
+		"GROUPS": "Groups",
+		"YOU": "You + {{participants}}",
+		"NEW_INTERNAL_MESSAGE": "New internal message",
+		"DELETE": "Delete",
+		"SEARCH": "Search",
+		"USERS": "Users",
+		"TODAY": "TODAY",
+		"MONDAY": "Monday",
+		"TUESDAY": "Tuesday",
+		"WEDNESDAY": "Wednesday",
+		"THURSDAY": "Thursday",
+		"FRIDAY": "Friday",
+		"SATURDAY": "Saturday",
+		"SUNDAY": "Sunday",
+		"JANUARY": "January",
+		"FEBRUARY": "February",
+		"MARCH": "March",
+		"APRIL": "April",
+		"MAY": "May",
+		"JUNE": "June",
+		"JULY": "July",
+		"AUGUST": "August",
+		"SEPTEMBER": "September",
+		"OCTOBER": "October",
+		"NOVEMBER": "November",
+		"DECEMBER": "December",
+		"CHAT": "CHAT",
+		"ACTIVITY": "ACTIVITY",
+		"FRIENDS": "Friends",
+		"APP_SERVERS": "Application Servers",
+		"USER_STATS": "User Stats",
+		"EVENTS": "Events",
+		"NOTES": "Notes",
+		"QUICK_SETTINGS": "Quick Settings",
+		"NOTIFICATIONS": "Notifications",
+		"CLOUD_SYNC": "Cloud Sync",
+		"RETRO_THRUSTERS": "Retro Thrusters",
+		"RECENT": "Recent",
+		"START_NEW_CHAT": "Start New Chat",
+		"BACK": "Back",
+		"CALL": "Call",
+		"MORE": "More",
+		"SEND_MESSAGE": "Send message",
+		"REPLY_PLACEHOLDER": "Type and hit enter to send message",
+		"CONTACT_XCALLY_MOTION_SUPPORT": "Contact xCALLY Motion Support",
+		"EXPIRATION_DATE": "Expiration Date",
+		"EXPIRATION_REASON": "Expiration Reason",
+		"LICENSE": "License",
+		"NEW_TOKEN": "New Token",
+		"OLD_TOKEN": "Old Token",
+		"SEND_EMAIL_TO": "Send Email To",
+		"TOKEN": "Token",
+		"EXPIRATION_REASON_MESSAGE": "Your license has expired or your machine unique id has been updated due to a change to your system. Contact xCALLY Motion Support Team sending both your old and your new uuid.",
+		"GRAY_PERIOD_EXPIRATION": "Gray Period Expiration",
+		"EXPIRATION_REASON_MESSAGE_GRAY": "Your license has expired or has been disabled. Contact xCALLY Motion Support Team.",
+		"EXPIRATION_REASON_MESSAGE_CHANGED": "Your machine unique id has been updated due to a change to your system. Contact xCALLY Motion Support Team sending both your old and your new uuid.",
+		"MESSENGER_DISABLED": "The internal messaging is disabled for this agent!",
+		"WARNING": "Warning",
+		"ERRORS": {
+			"NAME_REQUIRED": "Mandatory Field"
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/reset/i18n/cs.json b/public/app/reset/i18n/cs.json
new file mode 100644
index 0000000..e69557f
--- /dev/null
+++ b/public/app/reset/i18n/cs.json
@@ -0,0 +1,20 @@
+{
+	"RESETPASSWORD": {
+		"TITLE": "Reset your password",
+		"EMAIL_ADRESS": "Email address",
+		"PASSWORD": "Password",
+		"PASSWORD_CONFIRM": "Password (Confirm)",
+		"UPDATE_PASSWORD": "RESET MY PASSWORD",
+		"GO_BACK": "Go back to login",
+		"PASSWORD_RESET": "Password Reset",
+		"PASSWORD_RESET_MESSAGE": "Your password has been correctly reset, you can now login!",
+		"PASSWORD_RESET_ERROR": "Password Reset Error",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Email field is required",
+			"EMAIL_MUST_VALID": "Email must be a valid e-mail address",
+			"PASSWORD_REQUIRED": "Password field is required",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"SECURE_PASSWORD_PATTERN": "Must contain at least 8 characters, with a minimum of 1 lowercase letter, 1 uppercase letter, 1 numeric character and 1 special character ~!?*@#$%^&-_=+[{]}."
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/reset/i18n/et.json b/public/app/reset/i18n/et.json
new file mode 100644
index 0000000..e69557f
--- /dev/null
+++ b/public/app/reset/i18n/et.json
@@ -0,0 +1,20 @@
+{
+	"RESETPASSWORD": {
+		"TITLE": "Reset your password",
+		"EMAIL_ADRESS": "Email address",
+		"PASSWORD": "Password",
+		"PASSWORD_CONFIRM": "Password (Confirm)",
+		"UPDATE_PASSWORD": "RESET MY PASSWORD",
+		"GO_BACK": "Go back to login",
+		"PASSWORD_RESET": "Password Reset",
+		"PASSWORD_RESET_MESSAGE": "Your password has been correctly reset, you can now login!",
+		"PASSWORD_RESET_ERROR": "Password Reset Error",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Email field is required",
+			"EMAIL_MUST_VALID": "Email must be a valid e-mail address",
+			"PASSWORD_REQUIRED": "Password field is required",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"SECURE_PASSWORD_PATTERN": "Must contain at least 8 characters, with a minimum of 1 lowercase letter, 1 uppercase letter, 1 numeric character and 1 special character ~!?*@#$%^&-_=+[{]}."
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/reset/i18n/lt.json b/public/app/reset/i18n/lt.json
new file mode 100644
index 0000000..e69557f
--- /dev/null
+++ b/public/app/reset/i18n/lt.json
@@ -0,0 +1,20 @@
+{
+	"RESETPASSWORD": {
+		"TITLE": "Reset your password",
+		"EMAIL_ADRESS": "Email address",
+		"PASSWORD": "Password",
+		"PASSWORD_CONFIRM": "Password (Confirm)",
+		"UPDATE_PASSWORD": "RESET MY PASSWORD",
+		"GO_BACK": "Go back to login",
+		"PASSWORD_RESET": "Password Reset",
+		"PASSWORD_RESET_MESSAGE": "Your password has been correctly reset, you can now login!",
+		"PASSWORD_RESET_ERROR": "Password Reset Error",
+		"ERRORS": {
+			"EMAIL_REQUIRED": "Email field is required",
+			"EMAIL_MUST_VALID": "Email must be a valid e-mail address",
+			"PASSWORD_REQUIRED": "Password field is required",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"SECURE_PASSWORD_PATTERN": "Must contain at least 8 characters, with a minimum of 1 lowercase letter, 1 uppercase letter, 1 numeric character and 1 special character ~!?*@#$%^&-_=+[{]}."
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/app/toolbar/i18n/cs.json b/public/app/toolbar/i18n/cs.json
new file mode 100644
index 0000000..2ce0a99
--- /dev/null
+++ b/public/app/toolbar/i18n/cs.json
@@ -0,0 +1,107 @@
+{
+	"TOOLBAR": {
+		"PREFIXES": "Prefixes",
+		"CALL": "Call",
+		"ARABIC": "Arabic",
+		"INDONESIAN": "Indonesian",
+		"RESETPASSWORD": "Reset Password",
+		"PASSWORD_EXPIRE_REMAINING_DAYS": "Remaining days before your password expires",
+		"BROWSER_COMPATIBILITY": "Browser Compatibility [Chrome, Opera, Safari]",
+		"RECORDING": "Recording",
+		"INVALID_LICENSE": "Invalid License",
+		"BROWSER": "Browser",
+		"OS": "Operating System",
+		"REQUIREMENTS": "Requirements",
+		"LICENSE": "License",
+		"HTTPS": "HTTPS",
+		"WEBRTCSUPPORT": "WebRTC Support",
+		"REGISTERED": "Registered",
+		"NOT_REGISTERED": "Not registered",
+		"WEBRTC_LICENSE_NOT_ENABELD": "WebRTC License is not enabled",
+		"ATTENDED_TRANSFER": "Attended Tranfer",
+		"TRANSFER": "Transfer",
+		"TARGET": "Target",
+		"CANCEL": "Cancel",
+		"FILENAME": "File name",
+		"STATUS": "Status",
+		"ACTIONS": "Actions",
+		"SPEAKER": "Speaker",
+		"RINGING": "Ringing tone",
+		"MICROPHONE": "Microphone",
+		"PROFILE": "Profile",
+		"SERVICES": "Services",
+		"AUDIO": "Audio",
+		"FULLNAME": "Fullname",
+		"NAME": "Name",
+		"INTERNAL": "Internal",
+		"RINGINGDEVICE": "Ringing Device",
+		"SPEAKERDEVICE": "Speaker Device",
+		"MICROPHONEDEVICE": "Microphone Device",
+		"CHANGEPASSWORD": "Change password",
+		"SETTINGS": "Settings",
+		"AUTOANSWER": "Auto answer",
+		"TOGGLE_NAVIGATION": "Toggle navigation",
+		"TOGGLE_NAVIGATION_FOLD": "Toggle navigation fold",
+		"TOGGLE_NAVIGATION_MODE": "Toggle navigation mode",
+		"SEARCH": "Search",
+		"USER_SETTINGS": "User settings",
+		"TOGGLE_QUICK_PANEL": "Toggle quick panel",
+		"SOMEONE_LOGGED_YOU_OUT": "Someone logged out, do you want to stay logged?",
+		"STAY_LOGGED": "Stay logged",
+		"WARNING": "Warning",
+		"ENGLISH": "English",
+		"ITALIAN": "Italian",
+		"FRENCH": "French",
+		"KOREAN": "Korean",
+		"SPANISH": "Spanish",
+		"SWEDISH": "Swedish",
+		"RUSSIAN": "Russian",
+		"GERMAN": "German",
+		"JAPANESE": "Japanese",
+		"CHINESESIMPLIFIED": "Chinese Simplified",
+		"CHINESETRADITIONAL": "Chinese Traditional",
+		"DUTCH": "Dutch",
+		"FINNISH": "Finnish",
+		"DANISH": "Danish",
+		"PORTUGUESE": "Portuguese",
+		"NORWEGIAN": "Norwegian",
+		"HINDI": "Hindi",
+		"TURKISH": "Turkish",
+		"PERSIAN": "Persian",
+		"LATVIAN": "Latvian",
+		"POLISH": "Polish",
+		"LOGIN_TIME": "Login Time",
+		"PAUSE_TIME": "Pause Time",
+		"PREVIEW": "Preview",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"NEW_PASSWORD": "New Password",
+		"OLD_PASSWORD": "Old Password",
+		"SAVE": "Save",
+		"TRIAL_VERSION": "Trial Version",
+		"PAUSE": "Pause",
+		"RESUME": "End Pause",
+		"NO_PAUSES_AVAILABLE": "No pauses available",
+		"CZECH": "Czech",
+		"ERRORS": {
+			"FIELD_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"SECURE_PASSWORD_PATTERN": "The password must be at least 8 characters long and have 1 lowercase character, 1 uppercase character, 1 number and 1 special character ~!?*@#$%^&-_=+[{]}.",
+			"PASSWORD_OLDPASSWORD_MATCH": "Nové heslo se musí lišit od předchozího"
+		},
+		"BRAZILIAN": "brazilský",
+		"CHANGE_LANGUAGE_MESSAGE": "Nezapomeňte stránku aktualizovat a použít podporu RTL (pokud je povolena)",
+		"CHANGE_LANGUAGE_TITLE": "Změnit jazyk",
+		"CONFERENCE": "Konference se 2 aktivními sezeními",
+		"ESTONIAN": "estonština",
+		"HEBREW": "hebrejština",
+		"LITHUANIAN": "Litevština",
+		"NOTIFICATION_TITLE": "Nové oznámení od {{odesílatele}}",
+		"NOTIFICATION_TITLE_RECIPIENT": "na {{recipient}}",
+		"NO_AVAILABLE_INFO": "Nejsou k dispozici žádné informace",
+		"USER_FORCE_LOGOUT": "{{ip}} se přihlásil pomocí vašich přihlašovacích údajů.\nVíce přihlášení není povoleno",
+		"WEBRTC_AUDIO_DEVICES_NOT_AVAILABLE": "Nejsou k dispozici žádná zvuková zařízení",
+		"WEBRTC_MICROPHONE_NOT_AVAILABLE": "Není k dispozici žádný mikrofon",
+		"WEBRTC_SPEAKER_NOT_AVAILABLE": "Není k dispozici žádný reproduktor"
+	}
+}
\ No newline at end of file
diff --git a/public/app/toolbar/i18n/et.json b/public/app/toolbar/i18n/et.json
new file mode 100644
index 0000000..2a34815
--- /dev/null
+++ b/public/app/toolbar/i18n/et.json
@@ -0,0 +1,107 @@
+{
+	"TOOLBAR": {
+		"PREFIXES": "Prefixes",
+		"CALL": "Call",
+		"ARABIC": "Arabic",
+		"INDONESIAN": "Indonesian",
+		"RESETPASSWORD": "Reset Password",
+		"PASSWORD_EXPIRE_REMAINING_DAYS": "Remaining days before your password expires",
+		"BROWSER_COMPATIBILITY": "Browser Compatibility [Chrome, Opera, Safari]",
+		"RECORDING": "Recording",
+		"INVALID_LICENSE": "Invalid License",
+		"BROWSER": "Browser",
+		"OS": "Operating System",
+		"REQUIREMENTS": "Requirements",
+		"LICENSE": "License",
+		"HTTPS": "HTTPS",
+		"WEBRTCSUPPORT": "WebRTC Support",
+		"REGISTERED": "Registered",
+		"NOT_REGISTERED": "Not registered",
+		"WEBRTC_LICENSE_NOT_ENABELD": "WebRTC License is not enabled",
+		"ATTENDED_TRANSFER": "Attended Tranfer",
+		"TRANSFER": "Transfer",
+		"TARGET": "Target",
+		"CANCEL": "Cancel",
+		"FILENAME": "File name",
+		"STATUS": "Status",
+		"ACTIONS": "Actions",
+		"SPEAKER": "Speaker",
+		"RINGING": "Ringing tone",
+		"MICROPHONE": "Microphone",
+		"PROFILE": "Profile",
+		"SERVICES": "Services",
+		"AUDIO": "Audio",
+		"FULLNAME": "Fullname",
+		"NAME": "Name",
+		"INTERNAL": "Internal",
+		"RINGINGDEVICE": "Ringing Device",
+		"SPEAKERDEVICE": "Speaker Device",
+		"MICROPHONEDEVICE": "Microphone Device",
+		"CHANGEPASSWORD": "Change password",
+		"SETTINGS": "Settings",
+		"AUTOANSWER": "Auto answer",
+		"TOGGLE_NAVIGATION": "Toggle navigation",
+		"TOGGLE_NAVIGATION_FOLD": "Toggle navigation fold",
+		"TOGGLE_NAVIGATION_MODE": "Toggle navigation mode",
+		"SEARCH": "Search",
+		"USER_SETTINGS": "User settings",
+		"TOGGLE_QUICK_PANEL": "Toggle quick panel",
+		"SOMEONE_LOGGED_YOU_OUT": "Someone logged out, do you want to stay logged?",
+		"STAY_LOGGED": "Stay logged",
+		"WARNING": "Warning",
+		"ENGLISH": "English",
+		"ITALIAN": "Italian",
+		"FRENCH": "French",
+		"KOREAN": "Korean",
+		"SPANISH": "Spanish",
+		"SWEDISH": "Swedish",
+		"RUSSIAN": "Russian",
+		"GERMAN": "German",
+		"JAPANESE": "Japanese",
+		"CHINESESIMPLIFIED": "Chinese Simplified",
+		"CHINESETRADITIONAL": "Chinese Traditional",
+		"DUTCH": "Dutch",
+		"FINNISH": "Finnish",
+		"DANISH": "Danish",
+		"PORTUGUESE": "Portuguese",
+		"NORWEGIAN": "Norwegian",
+		"HINDI": "Hindi",
+		"TURKISH": "Turkish",
+		"PERSIAN": "Persian",
+		"LATVIAN": "Latvian",
+		"POLISH": "Polish",
+		"LOGIN_TIME": "Login Time",
+		"PAUSE_TIME": "Pause Time",
+		"PREVIEW": "Preview",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"NEW_PASSWORD": "New Password",
+		"OLD_PASSWORD": "Old Password",
+		"SAVE": "Save",
+		"TRIAL_VERSION": "Trial Version",
+		"PAUSE": "Pause",
+		"RESUME": "End Pause",
+		"NO_PAUSES_AVAILABLE": "No pauses available",
+		"ERRORS": {
+			"FIELD_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"SECURE_PASSWORD_PATTERN": "The password must be at least 8 characters long and have 1 lowercase character, 1 uppercase character, 1 number and 1 special character ~!?*@#$%^&-_=+[{]}.",
+			"PASSWORD_OLDPASSWORD_MATCH": "Uus parool peab erinema eelmisest"
+		},
+		"HEBREW": "Hebrew",
+		"ESTONIAN": "Estonian",
+		"BRAZILIAN": "Brasiillane",
+		"CHANGE_LANGUAGE_MESSAGE": "Ärge unustage RTL-i toe rakendamiseks lehte värskendada (kui see on lubatud)",
+		"CHANGE_LANGUAGE_TITLE": "Keele vahetamine",
+		"CONFERENCE": "Konverents 2 aktiivse sessiooniga",
+		"CZECH": "Tšehhi",
+		"LITHUANIAN": "Leedulane",
+		"NOTIFICATION_TITLE": "Uus teade kasutajalt {{sender}}",
+		"NOTIFICATION_TITLE_RECIPIENT": "saajale {{saaja}}",
+		"NO_AVAILABLE_INFO": "Informatsioon pole saadaval",
+		"USER_FORCE_LOGOUT": "{{ip}} on teie mandaatidega sisse loginud.\nMitu sisselogimist pole lubatud",
+		"WEBRTC_AUDIO_DEVICES_NOT_AVAILABLE": "Heliseadmeid pole saadaval",
+		"WEBRTC_MICROPHONE_NOT_AVAILABLE": "Mikrofoni pole saadaval",
+		"WEBRTC_SPEAKER_NOT_AVAILABLE": "Kõlarit pole saadaval"
+	}
+}
\ No newline at end of file
diff --git a/public/app/toolbar/i18n/lt.json b/public/app/toolbar/i18n/lt.json
new file mode 100644
index 0000000..ee5c35e
--- /dev/null
+++ b/public/app/toolbar/i18n/lt.json
@@ -0,0 +1,107 @@
+{
+	"TOOLBAR": {
+		"CHANGE_LANGUAGE_TITLE": "Change language",
+		"CHANGE_LANGUAGE_MESSAGE": "Remember to refresh the page to apply RTL Support (if enabled)",
+		"HEBREW": "Hebrew",
+		"PREFIXES": "Prefixes",
+		"CALL": "Call",
+		"ARABIC": "Arabic",
+		"INDONESIAN": "Indonesian",
+		"RESETPASSWORD": "Reset Password",
+		"PASSWORD_EXPIRE_REMAINING_DAYS": "Remaining days before your password expires",
+		"BROWSER_COMPATIBILITY": "Browser Compatibility [Chrome, Opera, Safari]",
+		"RECORDING": "Recording",
+		"INVALID_LICENSE": "Invalid License",
+		"BROWSER": "Browser",
+		"OS": "Operating System",
+		"REQUIREMENTS": "Requirements",
+		"LICENSE": "License",
+		"HTTPS": "HTTPS",
+		"WEBRTCSUPPORT": "WebRTC Support",
+		"REGISTERED": "Registered",
+		"NOT_REGISTERED": "Not registered",
+		"WEBRTC_LICENSE_NOT_ENABELD": "WebRTC License is not enabled",
+		"ATTENDED_TRANSFER": "Attended Tranfer",
+		"TRANSFER": "Transfer",
+		"TARGET": "Target",
+		"CANCEL": "Cancel",
+		"FILENAME": "File name",
+		"STATUS": "Status",
+		"ACTIONS": "Actions",
+		"SPEAKER": "Speaker",
+		"RINGING": "Ringing tone",
+		"MICROPHONE": "Microphone",
+		"CONFERENCE": "Conference with 2 active sessions",
+		"PROFILE": "Profile",
+		"SERVICES": "Services",
+		"AUDIO": "Audio",
+		"FULLNAME": "Fullname",
+		"NAME": "Name",
+		"INTERNAL": "Internal",
+		"RINGINGDEVICE": "Ringing Device",
+		"SPEAKERDEVICE": "Speaker Device",
+		"MICROPHONEDEVICE": "Microphone Device",
+		"CHANGEPASSWORD": "Change password",
+		"SETTINGS": "Settings",
+		"AUTOANSWER": "Auto answer",
+		"TOGGLE_NAVIGATION": "Toggle navigation",
+		"TOGGLE_NAVIGATION_FOLD": "Toggle navigation fold",
+		"TOGGLE_NAVIGATION_MODE": "Toggle navigation mode",
+		"SEARCH": "Search",
+		"USER_SETTINGS": "User settings",
+		"TOGGLE_QUICK_PANEL": "Toggle quick panel",
+		"SOMEONE_LOGGED_YOU_OUT": "Someone logged out, do you want to stay logged?",
+		"STAY_LOGGED": "Stay logged",
+		"WARNING": "Warning",
+		"ENGLISH": "English",
+		"ITALIAN": "Italian",
+		"FRENCH": "French",
+		"KOREAN": "Korean",
+		"SPANISH": "Spanish",
+		"SWEDISH": "Swedish",
+		"RUSSIAN": "Russian",
+		"GERMAN": "German",
+		"JAPANESE": "Japanese",
+		"CHINESESIMPLIFIED": "Chinese Simplified",
+		"CHINESETRADITIONAL": "Chinese Traditional",
+		"DUTCH": "Dutch",
+		"FINNISH": "Finnish",
+		"DANISH": "Danish",
+		"PORTUGUESE": "Portuguese",
+		"NORWEGIAN": "Norwegian",
+		"HINDI": "Hindi",
+		"TURKISH": "Turkish",
+		"PERSIAN": "Persian",
+		"LATVIAN": "Latvian",
+		"POLISH": "Polish",
+		"LOGIN_TIME": "Login Time",
+		"PAUSE_TIME": "Pause Time",
+		"PREVIEW": "Preview",
+		"CONFIRM_PASSWORD": "Confirm Password",
+		"NEW_PASSWORD": "New Password",
+		"OLD_PASSWORD": "Old Password",
+		"SAVE": "Save",
+		"TRIAL_VERSION": "Trial Version",
+		"PAUSE": "Pause",
+		"RESUME": "End Pause",
+		"NO_PAUSES_AVAILABLE": "No pauses available",
+		"ERRORS": {
+			"FIELD_REQUIRED": "Mandatory Field",
+			"PASSWORD_REQUIRED": "Mandatory Field",
+			"CONFIRM_NOT_MATCH": "The passwords don't match",
+			"SECURE_PASSWORD_PATTERN": "The password must be at least 8 characters long and have 1 lowercase character, 1 uppercase character, 1 number and 1 special character ~!?*@#$%^&-_=+[{]}.",
+			"PASSWORD_OLDPASSWORD_MATCH": "New password must be different from previous one"
+		},
+		"BRAZILIAN": "Brazilian",
+		"ESTONIAN": "Estonian",
+		"CZECH": "Czech",
+		"WEBRTC_MICROPHONE_NOT_AVAILABLE": "No microphone available",
+		"WEBRTC_SPEAKER_NOT_AVAILABLE": "No speaker available",
+		"WEBRTC_AUDIO_DEVICES_NOT_AVAILABLE": "No audio devices available",
+		"NO_AVAILABLE_INFO": "No available info",
+		"LITHUANIAN": "Lietuvis",
+		"NOTIFICATION_TITLE": "Naujas pranešimas iš {{siuntėjo}}",
+		"NOTIFICATION_TITLE_RECIPIENT": "pas {{gavėjas}}",
+		"USER_FORCE_LOGOUT": "{{ip}} prisijungė naudodamas savo kredencialus.\nKeli prisijungimai neleidžiami"
+	}
+}
\ No newline at end of file
diff --git a/public/assets/images/business/voiceRecordings.jpg b/public/assets/images/business/voiceRecordings.jpg
new file mode 100644
index 0000000..065f758
Binary files /dev/null and b/public/assets/images/business/voiceRecordings.jpg differ
diff --git a/public/assets/images/business/whatsappAccounts.jpg b/public/assets/images/business/whatsappAccounts.jpg
new file mode 100644
index 0000000..b4cfd02
Binary files /dev/null and b/public/assets/images/business/whatsappAccounts.jpg differ
diff --git a/public/assets/images/business/whatsappQueues.jpg b/public/assets/images/business/whatsappQueues.jpg
new file mode 100644
index 0000000..0213dbf
Binary files /dev/null and b/public/assets/images/business/whatsappQueues.jpg differ
diff --git a/public/assets/images/flags/cs.png b/public/assets/images/flags/cs.png
new file mode 100644
index 0000000..9331706
Binary files /dev/null and b/public/assets/images/flags/cs.png differ
diff --git a/public/assets/images/flags/et.png b/public/assets/images/flags/et.png
new file mode 100644
index 0000000..fa62cbb
Binary files /dev/null and b/public/assets/images/flags/et.png differ
diff --git a/public/assets/images/flags/lt.png b/public/assets/images/flags/lt.png
new file mode 100644
index 0000000..dc9b4bb
Binary files /dev/null and b/public/assets/images/flags/lt.png differ
diff --git a/public/assets/plugins/square/stencils/asr/mrcprecog_128x128.png b/public/assets/plugins/square/stencils/asr/mrcprecog_128x128.png
new file mode 100644
index 0000000..5b3973b
Binary files /dev/null and b/public/assets/plugins/square/stencils/asr/mrcprecog_128x128.png differ
diff --git a/public/assets/plugins/square/stencils/tts/mrcpsynth_128x128.png b/public/assets/plugins/square/stencils/tts/mrcpsynth_128x128.png
new file mode 100644
index 0000000..364ace6
Binary files /dev/null and b/public/assets/plugins/square/stencils/tts/mrcpsynth_128x128.png differ
diff --git a/public/index.html b/public/index.html
index 84930f4..c51ce15 100644
--- a/public/index.html
+++ b/public/index.html
@@ -14,7 +14,7 @@
 
     <link rel="stylesheet" href="styles/vendor.50474bf7.css">
 
-    <link rel="stylesheet" href="styles/app.c7750b89.css">
+    <link rel="stylesheet" href="styles/app.9ec358c8.css">
 
     <!-- <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic'
               rel='stylesheet' type='text/css'> -->
@@ -60,7 +60,7 @@
 
     <script src="scripts/vendor.17cdb947.js"></script>
 
-    <script src="scripts/app.41bbd41e.js"></script>
+    <script src="scripts/app.74f89fce.js"></script>
 
     <!-- CKEDITOR -->
     <script src="assets/plugins/ckeditor/ckeditor.js"></script>
diff --git a/public/scripts/app.41bbd41e.js b/public/scripts/app.74f89fce.js
similarity index 55%
rename from public/scripts/app.41bbd41e.js
rename to public/scripts/app.74f89fce.js
index ed26831..7b391de 100644
--- a/public/scripts/app.41bbd41e.js
+++ b/public/scripts/app.74f89fce.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/public/styles/app.c7750b89.css b/public/styles/app.9ec358c8.css
similarity index 70%
rename from public/styles/app.c7750b89.css
rename to public/styles/app.9ec358c8.css
index e00dade..13d946e 100644
--- a/public/styles/app.c7750b89.css
+++ b/public/styles/app.9ec358c8.css
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.attributes.js b/server/api/action/action.attributes.js
index 6f0f873..2775ca2 100644
--- a/server/api/action/action.attributes.js
+++ b/server/api/action/action.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.controller.js b/server/api/action/action.controller.js
index 4e4d297..9ebd0f4 100644
--- a/server/api/action/action.controller.js
+++ b/server/api/action/action.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.model.js b/server/api/action/action.model.js
index f1dc152..603feb9 100644
--- a/server/api/action/action.model.js
+++ b/server/api/action/action.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.rpc.js b/server/api/action/action.rpc.js
index 366feb5..52e15d4 100644
--- a/server/api/action/action.rpc.js
+++ b/server/api/action/action.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/index.js b/server/api/action/index.js
index 46b6f5a..6202338 100644
--- a/server/api/action/index.js
+++ b/server/api/action/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.attributes.js b/server/api/analyticCustomReport/analyticCustomReport.attributes.js
index 26bab9b..927f3b5 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.attributes.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.controller.js b/server/api/analyticCustomReport/analyticCustomReport.controller.js
index 36a0e0d..f44d9d4 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.controller.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.model.js b/server/api/analyticCustomReport/analyticCustomReport.model.js
index ddd422a..9c2483b 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.model.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.rpc.js b/server/api/analyticCustomReport/analyticCustomReport.rpc.js
index 5ada882..9dba02b 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.rpc.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/index.js b/server/api/analyticCustomReport/index.js
index 43efdfd..1958b99 100644
--- a/server/api/analyticCustomReport/index.js
+++ b/server/api/analyticCustomReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js b/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
index 3924778..451fcae 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.controller.js b/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
index 285c4cf..fa8f875 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.model.js b/server/api/analyticDefaultReport/analyticDefaultReport.model.js
index 0c6e59c..1087e0c 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.model.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js b/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js
index 592f497..d78300a 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/index.js b/server/api/analyticDefaultReport/index.js
index f501b01..078c7a1 100644
--- a/server/api/analyticDefaultReport/index.js
+++ b/server/api/analyticDefaultReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js b/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
index 20f8e43..2fee49a 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.controller.js b/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
index 0fe28c3..4ce566d 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.model.js b/server/api/analyticExtractedReport/analyticExtractedReport.model.js
index 64b17bf..3dee13e 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.model.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js b/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js
index 0f97cbb..c8d2ef8 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/index.js b/server/api/analyticExtractedReport/index.js
index 4f3bbf9..da63042 100644
--- a/server/api/analyticExtractedReport/index.js
+++ b/server/api/analyticExtractedReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.attributes.js b/server/api/analyticFieldReport/analyticFieldReport.attributes.js
index 8e8381c..84f386d 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.attributes.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.controller.js b/server/api/analyticFieldReport/analyticFieldReport.controller.js
index 322c42f..d0d8e1f 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.controller.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.model.js b/server/api/analyticFieldReport/analyticFieldReport.model.js
index 18044d9..af9356d 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.model.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.rpc.js b/server/api/analyticFieldReport/analyticFieldReport.rpc.js
index 9d80f28..8fce913 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.rpc.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/index.js b/server/api/analyticFieldReport/index.js
index e7c17e7..5b88e65 100644
--- a/server/api/analyticFieldReport/index.js
+++ b/server/api/analyticFieldReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.attributes.js b/server/api/analyticMetric/analyticMetric.attributes.js
index de72911..5d5d817 100644
--- a/server/api/analyticMetric/analyticMetric.attributes.js
+++ b/server/api/analyticMetric/analyticMetric.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.controller.js b/server/api/analyticMetric/analyticMetric.controller.js
index bf0aee9..c1d43ef 100644
--- a/server/api/analyticMetric/analyticMetric.controller.js
+++ b/server/api/analyticMetric/analyticMetric.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.model.js b/server/api/analyticMetric/analyticMetric.model.js
index bc747f8..e4b397c 100644
--- a/server/api/analyticMetric/analyticMetric.model.js
+++ b/server/api/analyticMetric/analyticMetric.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.rpc.js b/server/api/analyticMetric/analyticMetric.rpc.js
index 1c17c02..463ecc2 100644
--- a/server/api/analyticMetric/analyticMetric.rpc.js
+++ b/server/api/analyticMetric/analyticMetric.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/index.js b/server/api/analyticMetric/index.js
index 8205771..9bf69a5 100644
--- a/server/api/analyticMetric/index.js
+++ b/server/api/analyticMetric/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.attributes.js b/server/api/analyticTreeReport/analyticTreeReport.attributes.js
index 4d79a49..c313337 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.attributes.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x7bc6=['sequelize'];(function(_0x1e15a8,_0x68e0ac){var _0x991518=function(_0x30ab86){while(--_0x30ab86){_0x1e15a8['push'](_0x1e15a8['shift']());}};_0x991518(++_0x68e0ac);}(_0x7bc6,0x187));var _0x67bc=function(_0x148250,_0x2b8bcb){_0x148250=_0x148250-0x0;var _0x5c8521=_0x7bc6[_0x148250];return _0x5c8521;};'use strict';var Sequelize=require(_0x67bc('0x0'));module['exports']={'tree':{'type':Sequelize['TEXT'],'allowNull':![]}};
\ No newline at end of file
+var _0x323b=['exports','TEXT','sequelize'];(function(_0x51e80c,_0x368b49){var _0x4e41eb=function(_0x427ffe){while(--_0x427ffe){_0x51e80c['push'](_0x51e80c['shift']());}};_0x4e41eb(++_0x368b49);}(_0x323b,0x1ac));var _0xb323=function(_0x17420e,_0x354910){_0x17420e=_0x17420e-0x0;var _0x5d4967=_0x323b[_0x17420e];return _0x5d4967;};'use strict';var Sequelize=require(_0xb323('0x0'));module[_0xb323('0x1')]={'tree':{'type':Sequelize[_0xb323('0x2')],'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.controller.js b/server/api/analyticTreeReport/analyticTreeReport.controller.js
index bc2d09a..562bd8e 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.controller.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.model.js b/server/api/analyticTreeReport/analyticTreeReport.model.js
index 1d056ce..cb21d06 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.model.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.rpc.js b/server/api/analyticTreeReport/analyticTreeReport.rpc.js
index 140fb7b..b36ccd4 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.rpc.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/index.js b/server/api/analyticTreeReport/index.js
index 5d9a39d..98f63e4 100644
--- a/server/api/analyticTreeReport/index.js
+++ b/server/api/analyticTreeReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.attributes.js b/server/api/attachment/attachment.attributes.js
index ee4d752..1f23178 100644
--- a/server/api/attachment/attachment.attributes.js
+++ b/server/api/attachment/attachment.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.controller.js b/server/api/attachment/attachment.controller.js
index 46c46e6..b72ab06 100644
--- a/server/api/attachment/attachment.controller.js
+++ b/server/api/attachment/attachment.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.model.js b/server/api/attachment/attachment.model.js
index 0cab18a..af29fc2 100644
--- a/server/api/attachment/attachment.model.js
+++ b/server/api/attachment/attachment.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.rpc.js b/server/api/attachment/attachment.rpc.js
index c22ed61..17e7f28 100644
--- a/server/api/attachment/attachment.rpc.js
+++ b/server/api/attachment/attachment.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/index.js b/server/api/attachment/index.js
index ccf4831..9caa2d9 100644
--- a/server/api/attachment/index.js
+++ b/server/api/attachment/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authGoogle/authGoogle.controller.js b/server/api/authGoogle/authGoogle.controller.js
index 2943016..d16de97 100644
--- a/server/api/authGoogle/authGoogle.controller.js
+++ b/server/api/authGoogle/authGoogle.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authGoogle/index.js b/server/api/authGoogle/index.js
index 2fdcbd0..454cfb0 100644
--- a/server/api/authGoogle/index.js
+++ b/server/api/authGoogle/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authLocal/authLocal.controller.js b/server/api/authLocal/authLocal.controller.js
index 2fbbf6c..8a2e4cb 100644
--- a/server/api/authLocal/authLocal.controller.js
+++ b/server/api/authLocal/authLocal.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authLocal/index.js b/server/api/authLocal/index.js
index 65e38ae..0380224 100644
--- a/server/api/authLocal/index.js
+++ b/server/api/authLocal/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.attributes.js b/server/api/automation/automation.attributes.js
index 26dadc7..f97833c 100644
--- a/server/api/automation/automation.attributes.js
+++ b/server/api/automation/automation.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.controller.js b/server/api/automation/automation.controller.js
index 59dc40e..c51d3e2 100644
--- a/server/api/automation/automation.controller.js
+++ b/server/api/automation/automation.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.model.js b/server/api/automation/automation.model.js
index 2852fec..cc6b3b2 100644
--- a/server/api/automation/automation.model.js
+++ b/server/api/automation/automation.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.rpc.js b/server/api/automation/automation.rpc.js
index a393fb6..0e8970b 100644
--- a/server/api/automation/automation.rpc.js
+++ b/server/api/automation/automation.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/index.js b/server/api/automation/index.js
index 49aa7f9..786dc71 100644
--- a/server/api/automation/index.js
+++ b/server/api/automation/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.attributes.js b/server/api/campaign/campaign.attributes.js
index 0b895ce..4ac2152 100644
--- a/server/api/campaign/campaign.attributes.js
+++ b/server/api/campaign/campaign.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.controller.js b/server/api/campaign/campaign.controller.js
index 1a4de70..135b581 100644
--- a/server/api/campaign/campaign.controller.js
+++ b/server/api/campaign/campaign.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.model.js b/server/api/campaign/campaign.model.js
index eff80d0..510b9be 100644
--- a/server/api/campaign/campaign.model.js
+++ b/server/api/campaign/campaign.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.rpc.js b/server/api/campaign/campaign.rpc.js
index 6455c45..8a08895 100644
--- a/server/api/campaign/campaign.rpc.js
+++ b/server/api/campaign/campaign.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/index.js b/server/api/campaign/index.js
index 71b2152..92a3896 100644
--- a/server/api/campaign/index.js
+++ b/server/api/campaign/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.attributes.js b/server/api/cannedAnswer/cannedAnswer.attributes.js
index d235036..e1ee625 100644
--- a/server/api/cannedAnswer/cannedAnswer.attributes.js
+++ b/server/api/cannedAnswer/cannedAnswer.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.controller.js b/server/api/cannedAnswer/cannedAnswer.controller.js
index 6fe0a31..2939d82 100644
--- a/server/api/cannedAnswer/cannedAnswer.controller.js
+++ b/server/api/cannedAnswer/cannedAnswer.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.model.js b/server/api/cannedAnswer/cannedAnswer.model.js
index 7be3470..5ce92eb 100644
--- a/server/api/cannedAnswer/cannedAnswer.model.js
+++ b/server/api/cannedAnswer/cannedAnswer.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.rpc.js b/server/api/cannedAnswer/cannedAnswer.rpc.js
index a4a1b85..11b59cb 100644
--- a/server/api/cannedAnswer/cannedAnswer.rpc.js
+++ b/server/api/cannedAnswer/cannedAnswer.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/index.js b/server/api/cannedAnswer/index.js
index 3e5b460..d8dca6a 100644
--- a/server/api/cannedAnswer/index.js
+++ b/server/api/cannedAnswer/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.attributes.js b/server/api/cdr/cdr.attributes.js
index 87fc54b..5e19549 100644
--- a/server/api/cdr/cdr.attributes.js
+++ b/server/api/cdr/cdr.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.controller.js b/server/api/cdr/cdr.controller.js
index d0939e8..1bac152 100644
--- a/server/api/cdr/cdr.controller.js
+++ b/server/api/cdr/cdr.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.model.js b/server/api/cdr/cdr.model.js
index cb15504..25ca670 100644
--- a/server/api/cdr/cdr.model.js
+++ b/server/api/cdr/cdr.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.rpc.js b/server/api/cdr/cdr.rpc.js
index 96279a4..781b619 100644
--- a/server/api/cdr/cdr.rpc.js
+++ b/server/api/cdr/cdr.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/index.js b/server/api/cdr/index.js
index 432cad8..6566cfc 100644
--- a/server/api/cdr/index.js
+++ b/server/api/cdr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.attributes.js b/server/api/chatApplication/chatApplication.attributes.js
index 606af79..c438ff8 100644
--- a/server/api/chatApplication/chatApplication.attributes.js
+++ b/server/api/chatApplication/chatApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.controller.js b/server/api/chatApplication/chatApplication.controller.js
index 5f029cc..9042024 100644
--- a/server/api/chatApplication/chatApplication.controller.js
+++ b/server/api/chatApplication/chatApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.model.js b/server/api/chatApplication/chatApplication.model.js
index db33588..0955fc5 100644
--- a/server/api/chatApplication/chatApplication.model.js
+++ b/server/api/chatApplication/chatApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.rpc.js b/server/api/chatApplication/chatApplication.rpc.js
index 0012f65..db00a27 100644
--- a/server/api/chatApplication/chatApplication.rpc.js
+++ b/server/api/chatApplication/chatApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/index.js b/server/api/chatApplication/index.js
index c1af479..f67f30c 100644
--- a/server/api/chatApplication/index.js
+++ b/server/api/chatApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.attributes.js b/server/api/chatGroup/chatGroup.attributes.js
index 14aadb2..022b69a 100644
--- a/server/api/chatGroup/chatGroup.attributes.js
+++ b/server/api/chatGroup/chatGroup.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.controller.js b/server/api/chatGroup/chatGroup.controller.js
index 441e735..31c25b6 100644
--- a/server/api/chatGroup/chatGroup.controller.js
+++ b/server/api/chatGroup/chatGroup.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.events.js b/server/api/chatGroup/chatGroup.events.js
index ebd0c95..e68f549 100644
--- a/server/api/chatGroup/chatGroup.events.js
+++ b/server/api/chatGroup/chatGroup.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.model.js b/server/api/chatGroup/chatGroup.model.js
index c9be526..b30cae1 100644
--- a/server/api/chatGroup/chatGroup.model.js
+++ b/server/api/chatGroup/chatGroup.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.rpc.js b/server/api/chatGroup/chatGroup.rpc.js
index 64ab157..bbb4202 100644
--- a/server/api/chatGroup/chatGroup.rpc.js
+++ b/server/api/chatGroup/chatGroup.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.socket.js b/server/api/chatGroup/chatGroup.socket.js
index 3c8acaa..17ad8cb 100644
--- a/server/api/chatGroup/chatGroup.socket.js
+++ b/server/api/chatGroup/chatGroup.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/index.js b/server/api/chatGroup/index.js
index ec9c9e3..a740beb 100644
--- a/server/api/chatGroup/index.js
+++ b/server/api/chatGroup/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.attributes.js b/server/api/chatInteraction/chatInteraction.attributes.js
index 98047db..b659f44 100644
--- a/server/api/chatInteraction/chatInteraction.attributes.js
+++ b/server/api/chatInteraction/chatInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.controller.js b/server/api/chatInteraction/chatInteraction.controller.js
index ba867b2..cc26462 100644
--- a/server/api/chatInteraction/chatInteraction.controller.js
+++ b/server/api/chatInteraction/chatInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.events.js b/server/api/chatInteraction/chatInteraction.events.js
index 85708c1..8cea8b9 100644
--- a/server/api/chatInteraction/chatInteraction.events.js
+++ b/server/api/chatInteraction/chatInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.model.js b/server/api/chatInteraction/chatInteraction.model.js
index 12f0728..ed284ee 100644
--- a/server/api/chatInteraction/chatInteraction.model.js
+++ b/server/api/chatInteraction/chatInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.rpc.js b/server/api/chatInteraction/chatInteraction.rpc.js
index bf484f4..bf4c3f2 100644
--- a/server/api/chatInteraction/chatInteraction.rpc.js
+++ b/server/api/chatInteraction/chatInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.socket.js b/server/api/chatInteraction/chatInteraction.socket.js
index f219587..8e4d4ad 100644
--- a/server/api/chatInteraction/chatInteraction.socket.js
+++ b/server/api/chatInteraction/chatInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/index.js b/server/api/chatInteraction/index.js
index 02f94d5..2a20028 100644
--- a/server/api/chatInteraction/index.js
+++ b/server/api/chatInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.attributes.js b/server/api/chatInternalMessage/chatInternalMessage.attributes.js
index ce57afd..015a75f 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.attributes.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.controller.js b/server/api/chatInternalMessage/chatInternalMessage.controller.js
index f140ba2..9cde8b6 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.controller.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.events.js b/server/api/chatInternalMessage/chatInternalMessage.events.js
index bd8a7c2..ebc8416 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.events.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.model.js b/server/api/chatInternalMessage/chatInternalMessage.model.js
index 58bc28a..a5c70bb 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.model.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.rpc.js b/server/api/chatInternalMessage/chatInternalMessage.rpc.js
index 7ce4c26..126ddf6 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.rpc.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.socket.js b/server/api/chatInternalMessage/chatInternalMessage.socket.js
index ff99431..d5acf7f 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.socket.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/index.js b/server/api/chatInternalMessage/index.js
index 5d947f9..dc746e7 100644
--- a/server/api/chatInternalMessage/index.js
+++ b/server/api/chatInternalMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.attributes.js b/server/api/chatMessage/chatMessage.attributes.js
index daa4d7d..d7ae0fb 100644
--- a/server/api/chatMessage/chatMessage.attributes.js
+++ b/server/api/chatMessage/chatMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.controller.js b/server/api/chatMessage/chatMessage.controller.js
index 3ccbc70..3e02668 100644
--- a/server/api/chatMessage/chatMessage.controller.js
+++ b/server/api/chatMessage/chatMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.events.js b/server/api/chatMessage/chatMessage.events.js
index 83cd053..12d0110 100644
--- a/server/api/chatMessage/chatMessage.events.js
+++ b/server/api/chatMessage/chatMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.model.js b/server/api/chatMessage/chatMessage.model.js
index e2e5842..5bb2ff9 100644
--- a/server/api/chatMessage/chatMessage.model.js
+++ b/server/api/chatMessage/chatMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.rpc.js b/server/api/chatMessage/chatMessage.rpc.js
index e83404c..eab28c0 100644
--- a/server/api/chatMessage/chatMessage.rpc.js
+++ b/server/api/chatMessage/chatMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.socket.js b/server/api/chatMessage/chatMessage.socket.js
index 9a8f191..9b2fa89 100644
--- a/server/api/chatMessage/chatMessage.socket.js
+++ b/server/api/chatMessage/chatMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/index.js b/server/api/chatMessage/index.js
index edd796a..d5fdd18 100644
--- a/server/api/chatMessage/index.js
+++ b/server/api/chatMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js b/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
index 12d0181..13f2c32 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xe313=['sequelize','exports'];(function(_0x4e4f69,_0x4462ec){var _0x453aed=function(_0x41c81c){while(--_0x41c81c){_0x4e4f69['push'](_0x4e4f69['shift']());}};_0x453aed(++_0x4462ec);}(_0xe313,0x1aa));var _0x3e31=function(_0xb61aec,_0x3b2f87){_0xb61aec=_0xb61aec-0x0;var _0x39c28a=_0xe313[_0xb61aec];return _0x39c28a;};'use strict';var Sequelize=require(_0x3e31('0x0'));module[_0x3e31('0x1')]={'body':{'type':Sequelize['TEXT']('medium'),'allowNull':![]}};
\ No newline at end of file
+var _0x178a=['sequelize','exports','TEXT','medium'];(function(_0x26b8b5,_0xf5c2c1){var _0x2150a9=function(_0x1ca1be){while(--_0x1ca1be){_0x26b8b5['push'](_0x26b8b5['shift']());}};_0x2150a9(++_0xf5c2c1);}(_0x178a,0x8c));var _0xa178=function(_0x158eef,_0x4a0a7d){_0x158eef=_0x158eef-0x0;var _0x26cd34=_0x178a[_0x158eef];return _0x26cd34;};'use strict';var Sequelize=require(_0xa178('0x0'));module[_0xa178('0x1')]={'body':{'type':Sequelize[_0xa178('0x2')](_0xa178('0x3')),'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.controller.js b/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
index f7fa191..8dfe1ea 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.model.js b/server/api/chatOfflineMessage/chatOfflineMessage.model.js
index 8083c76..a69fb23 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.model.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js b/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js
index ab4e589..f32e719 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/index.js b/server/api/chatOfflineMessage/index.js
index 8739023..1367ccb 100644
--- a/server/api/chatOfflineMessage/index.js
+++ b/server/api/chatOfflineMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.attributes.js b/server/api/chatProactiveAction/chatProactiveAction.attributes.js
index 6a84784..849bae1 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.attributes.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.controller.js b/server/api/chatProactiveAction/chatProactiveAction.controller.js
index 54483aa..8dc6151 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.controller.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.model.js b/server/api/chatProactiveAction/chatProactiveAction.model.js
index 00223c5..59015d6 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.model.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.rpc.js b/server/api/chatProactiveAction/chatProactiveAction.rpc.js
index 765b55b..d7838e2 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.rpc.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/index.js b/server/api/chatProactiveAction/index.js
index 4d01dc2..0ca3e3a 100644
--- a/server/api/chatProactiveAction/index.js
+++ b/server/api/chatProactiveAction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.attributes.js b/server/api/chatQueue/chatQueue.attributes.js
index d894535..821b631 100644
--- a/server/api/chatQueue/chatQueue.attributes.js
+++ b/server/api/chatQueue/chatQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.controller.js b/server/api/chatQueue/chatQueue.controller.js
index 31562fb..891e4bf 100644
--- a/server/api/chatQueue/chatQueue.controller.js
+++ b/server/api/chatQueue/chatQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.events.js b/server/api/chatQueue/chatQueue.events.js
index 514a794..059427f 100644
--- a/server/api/chatQueue/chatQueue.events.js
+++ b/server/api/chatQueue/chatQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.model.js b/server/api/chatQueue/chatQueue.model.js
index 1787866..1c0d1c1 100644
--- a/server/api/chatQueue/chatQueue.model.js
+++ b/server/api/chatQueue/chatQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.rpc.js b/server/api/chatQueue/chatQueue.rpc.js
index bd245a8..54306d8 100644
--- a/server/api/chatQueue/chatQueue.rpc.js
+++ b/server/api/chatQueue/chatQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.socket.js b/server/api/chatQueue/chatQueue.socket.js
index 6424031..dd8bddd 100644
--- a/server/api/chatQueue/chatQueue.socket.js
+++ b/server/api/chatQueue/chatQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/index.js b/server/api/chatQueue/index.js
index 90f8a07..c7a6de3 100644
--- a/server/api/chatQueue/index.js
+++ b/server/api/chatQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.attributes.js b/server/api/chatQueueReport/chatQueueReport.attributes.js
index c0bf73c..47d8636 100644
--- a/server/api/chatQueueReport/chatQueueReport.attributes.js
+++ b/server/api/chatQueueReport/chatQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.controller.js b/server/api/chatQueueReport/chatQueueReport.controller.js
index a1177af..aff3119 100644
--- a/server/api/chatQueueReport/chatQueueReport.controller.js
+++ b/server/api/chatQueueReport/chatQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.model.js b/server/api/chatQueueReport/chatQueueReport.model.js
index 5d2a259..b946c6b 100644
--- a/server/api/chatQueueReport/chatQueueReport.model.js
+++ b/server/api/chatQueueReport/chatQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.rpc.js b/server/api/chatQueueReport/chatQueueReport.rpc.js
index 7fee26c..8c408bb 100644
--- a/server/api/chatQueueReport/chatQueueReport.rpc.js
+++ b/server/api/chatQueueReport/chatQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/index.js b/server/api/chatQueueReport/index.js
index f4adb9b..bb406fb 100644
--- a/server/api/chatQueueReport/index.js
+++ b/server/api/chatQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.attributes.js b/server/api/chatTransferReport/chatTransferReport.attributes.js
index b73746d..b5ad04b 100644
--- a/server/api/chatTransferReport/chatTransferReport.attributes.js
+++ b/server/api/chatTransferReport/chatTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.controller.js b/server/api/chatTransferReport/chatTransferReport.controller.js
index 7e4ae23..fc3c098 100644
--- a/server/api/chatTransferReport/chatTransferReport.controller.js
+++ b/server/api/chatTransferReport/chatTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.model.js b/server/api/chatTransferReport/chatTransferReport.model.js
index ccad451..4d994ac 100644
--- a/server/api/chatTransferReport/chatTransferReport.model.js
+++ b/server/api/chatTransferReport/chatTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.rpc.js b/server/api/chatTransferReport/chatTransferReport.rpc.js
index 729f506..c3e779f 100644
--- a/server/api/chatTransferReport/chatTransferReport.rpc.js
+++ b/server/api/chatTransferReport/chatTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/index.js b/server/api/chatTransferReport/index.js
index 158a75c..917716e 100644
--- a/server/api/chatTransferReport/index.js
+++ b/server/api/chatTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.attributes.js b/server/api/chatWebsite/chatWebsite.attributes.js
index b9a667d..e0c9220 100644
--- a/server/api/chatWebsite/chatWebsite.attributes.js
+++ b/server/api/chatWebsite/chatWebsite.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.controller.js b/server/api/chatWebsite/chatWebsite.controller.js
index b6cc65a..8233653 100644
--- a/server/api/chatWebsite/chatWebsite.controller.js
+++ b/server/api/chatWebsite/chatWebsite.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.events.js b/server/api/chatWebsite/chatWebsite.events.js
index c92c8db..daa50da 100644
--- a/server/api/chatWebsite/chatWebsite.events.js
+++ b/server/api/chatWebsite/chatWebsite.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.model.js b/server/api/chatWebsite/chatWebsite.model.js
index 8f650f9..2cd30ab 100644
--- a/server/api/chatWebsite/chatWebsite.model.js
+++ b/server/api/chatWebsite/chatWebsite.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.rpc.js b/server/api/chatWebsite/chatWebsite.rpc.js
index 9088ae3..749177a 100644
--- a/server/api/chatWebsite/chatWebsite.rpc.js
+++ b/server/api/chatWebsite/chatWebsite.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.socket.js b/server/api/chatWebsite/chatWebsite.socket.js
index b61e969..26d1ec5 100644
--- a/server/api/chatWebsite/chatWebsite.socket.js
+++ b/server/api/chatWebsite/chatWebsite.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/index.js b/server/api/chatWebsite/index.js
index eda75f5..bb809b5 100644
--- a/server/api/chatWebsite/index.js
+++ b/server/api/chatWebsite/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cloudProvider/cloudProvider.attributes.js b/server/api/cloudProvider/cloudProvider.attributes.js
new file mode 100644
index 0000000..5a6889e
--- /dev/null
+++ b/server/api/cloudProvider/cloudProvider.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/cloudProvider/cloudProvider.controller.js b/server/api/cloudProvider/cloudProvider.controller.js
new file mode 100644
index 0000000..23f987d
--- /dev/null
+++ b/server/api/cloudProvider/cloudProvider.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/cloudProvider/cloudProvider.model.js b/server/api/cloudProvider/cloudProvider.model.js
new file mode 100644
index 0000000..3eed926
--- /dev/null
+++ b/server/api/cloudProvider/cloudProvider.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/cloudProvider/cloudProvider.rpc.js b/server/api/cloudProvider/cloudProvider.rpc.js
new file mode 100644
index 0000000..8712116
--- /dev/null
+++ b/server/api/cloudProvider/cloudProvider.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/cloudProvider/index.js b/server/api/cloudProvider/index.js
new file mode 100644
index 0000000..2d73c9a
--- /dev/null
+++ b/server/api/cloudProvider/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.attributes.js b/server/api/cmCompany/cmCompany.attributes.js
index 83cc0fd..6d54dc8 100644
--- a/server/api/cmCompany/cmCompany.attributes.js
+++ b/server/api/cmCompany/cmCompany.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.controller.js b/server/api/cmCompany/cmCompany.controller.js
index 829afe6..db3189b 100644
--- a/server/api/cmCompany/cmCompany.controller.js
+++ b/server/api/cmCompany/cmCompany.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.model.js b/server/api/cmCompany/cmCompany.model.js
index 22c4849..a9163c5 100644
--- a/server/api/cmCompany/cmCompany.model.js
+++ b/server/api/cmCompany/cmCompany.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.rpc.js b/server/api/cmCompany/cmCompany.rpc.js
index bd891fd..6746f20 100644
--- a/server/api/cmCompany/cmCompany.rpc.js
+++ b/server/api/cmCompany/cmCompany.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/index.js b/server/api/cmCompany/index.js
index d99526b..83fe4fe 100644
--- a/server/api/cmCompany/index.js
+++ b/server/api/cmCompany/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.attributes.js b/server/api/cmContact/cmContact.attributes.js
index 660824b..2c848f7 100644
--- a/server/api/cmContact/cmContact.attributes.js
+++ b/server/api/cmContact/cmContact.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.controller.js b/server/api/cmContact/cmContact.controller.js
index b8fcd46..0f45b94 100644
--- a/server/api/cmContact/cmContact.controller.js
+++ b/server/api/cmContact/cmContact.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.events.js b/server/api/cmContact/cmContact.events.js
index 7f3456b..1623cb6 100644
--- a/server/api/cmContact/cmContact.events.js
+++ b/server/api/cmContact/cmContact.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.model.js b/server/api/cmContact/cmContact.model.js
index 43de62a..d633cc5 100644
--- a/server/api/cmContact/cmContact.model.js
+++ b/server/api/cmContact/cmContact.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.rpc.js b/server/api/cmContact/cmContact.rpc.js
index 9e4c207..78b854d 100644
--- a/server/api/cmContact/cmContact.rpc.js
+++ b/server/api/cmContact/cmContact.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.socket.js b/server/api/cmContact/cmContact.socket.js
index f5fa96b..bacf9ba 100644
--- a/server/api/cmContact/cmContact.socket.js
+++ b/server/api/cmContact/cmContact.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/index.js b/server/api/cmContact/index.js
index 739d5b3..538a3a9 100644
--- a/server/api/cmContact/index.js
+++ b/server/api/cmContact/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.attributes.js b/server/api/cmCustomField/cmCustomField.attributes.js
index dc1b1bb..28cdb18 100644
--- a/server/api/cmCustomField/cmCustomField.attributes.js
+++ b/server/api/cmCustomField/cmCustomField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.controller.js b/server/api/cmCustomField/cmCustomField.controller.js
index d36aebd..6198839 100644
--- a/server/api/cmCustomField/cmCustomField.controller.js
+++ b/server/api/cmCustomField/cmCustomField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.model.js b/server/api/cmCustomField/cmCustomField.model.js
index 662fa8c..9e8582b 100644
--- a/server/api/cmCustomField/cmCustomField.model.js
+++ b/server/api/cmCustomField/cmCustomField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.rpc.js b/server/api/cmCustomField/cmCustomField.rpc.js
index cae77a9..5b6248c 100644
--- a/server/api/cmCustomField/cmCustomField.rpc.js
+++ b/server/api/cmCustomField/cmCustomField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/index.js b/server/api/cmCustomField/index.js
index ade7032..a525ab6 100644
--- a/server/api/cmCustomField/index.js
+++ b/server/api/cmCustomField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.attributes.js b/server/api/cmHopper/cmHopper.attributes.js
index d2b2465..c248bdd 100644
--- a/server/api/cmHopper/cmHopper.attributes.js
+++ b/server/api/cmHopper/cmHopper.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.controller.js b/server/api/cmHopper/cmHopper.controller.js
index 7209ce9..0666b0f 100644
--- a/server/api/cmHopper/cmHopper.controller.js
+++ b/server/api/cmHopper/cmHopper.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.model.js b/server/api/cmHopper/cmHopper.model.js
index e0e91dd..8c44e08 100644
--- a/server/api/cmHopper/cmHopper.model.js
+++ b/server/api/cmHopper/cmHopper.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.rpc.js b/server/api/cmHopper/cmHopper.rpc.js
index 18b534b..ae7a019 100644
--- a/server/api/cmHopper/cmHopper.rpc.js
+++ b/server/api/cmHopper/cmHopper.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/index.js b/server/api/cmHopper/index.js
index e078ccd..40ecd89 100644
--- a/server/api/cmHopper/index.js
+++ b/server/api/cmHopper/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.attributes.js b/server/api/cmHopperBlack/cmHopperBlack.attributes.js
index a77ae20..c2ee39c 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.attributes.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.controller.js b/server/api/cmHopperBlack/cmHopperBlack.controller.js
index 1b478dc..c3cd5dc 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.controller.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.model.js b/server/api/cmHopperBlack/cmHopperBlack.model.js
index ae1f503..58c9688 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.model.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.rpc.js b/server/api/cmHopperBlack/cmHopperBlack.rpc.js
index 7b37ae3..cd67e55 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.rpc.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/index.js b/server/api/cmHopperBlack/index.js
index 7c07784..4577f95 100644
--- a/server/api/cmHopperBlack/index.js
+++ b/server/api/cmHopperBlack/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.attributes.js b/server/api/cmHopperFinal/cmHopperFinal.attributes.js
index 5264e6a..b5417d5 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.attributes.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.controller.js b/server/api/cmHopperFinal/cmHopperFinal.controller.js
index 313c5b7..075852c 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.controller.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.model.js b/server/api/cmHopperFinal/cmHopperFinal.model.js
index 1a78ccf..2188afa 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.model.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.rpc.js b/server/api/cmHopperFinal/cmHopperFinal.rpc.js
index 35ceb21..e237cc5 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.rpc.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/index.js b/server/api/cmHopperFinal/index.js
index 7e2f27b..f55e2e4 100644
--- a/server/api/cmHopperFinal/index.js
+++ b/server/api/cmHopperFinal/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.attributes.js b/server/api/cmHopperHistory/cmHopperHistory.attributes.js
index 58f656f..d0f6f8b 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.attributes.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.controller.js b/server/api/cmHopperHistory/cmHopperHistory.controller.js
index 792fafb..f1679c1 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.controller.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.model.js b/server/api/cmHopperHistory/cmHopperHistory.model.js
index c39d557..917cfec 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.model.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.rpc.js b/server/api/cmHopperHistory/cmHopperHistory.rpc.js
index 0aa5659..68afdfc 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.rpc.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/index.js b/server/api/cmHopperHistory/index.js
index c675a7d..f02b464 100644
--- a/server/api/cmHopperHistory/index.js
+++ b/server/api/cmHopperHistory/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.attributes.js b/server/api/cmList/cmList.attributes.js
index c3a1702..f7be375 100644
--- a/server/api/cmList/cmList.attributes.js
+++ b/server/api/cmList/cmList.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.controller.js b/server/api/cmList/cmList.controller.js
index a401a62..63ec17e 100644
--- a/server/api/cmList/cmList.controller.js
+++ b/server/api/cmList/cmList.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.events.js b/server/api/cmList/cmList.events.js
index 36a0b79..6884e4a 100644
--- a/server/api/cmList/cmList.events.js
+++ b/server/api/cmList/cmList.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.model.js b/server/api/cmList/cmList.model.js
index cd7bccb..98ff8d4 100644
--- a/server/api/cmList/cmList.model.js
+++ b/server/api/cmList/cmList.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.rpc.js b/server/api/cmList/cmList.rpc.js
index 6b03194..2a4f65f 100644
--- a/server/api/cmList/cmList.rpc.js
+++ b/server/api/cmList/cmList.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.socket.js b/server/api/cmList/cmList.socket.js
index 8209876..a799bb3 100644
--- a/server/api/cmList/cmList.socket.js
+++ b/server/api/cmList/cmList.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/index.js b/server/api/cmList/index.js
index 52b6d05..91d2db6 100644
--- a/server/api/cmList/index.js
+++ b/server/api/cmList/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.attributes.js b/server/api/condition/condition.attributes.js
index 2b87c0d..4ebe286 100644
--- a/server/api/condition/condition.attributes.js
+++ b/server/api/condition/condition.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.controller.js b/server/api/condition/condition.controller.js
index d393e11..4d8e918 100644
--- a/server/api/condition/condition.controller.js
+++ b/server/api/condition/condition.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.model.js b/server/api/condition/condition.model.js
index 2456c49..5ef23fe 100644
--- a/server/api/condition/condition.model.js
+++ b/server/api/condition/condition.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.rpc.js b/server/api/condition/condition.rpc.js
index 02989ac..b9388a9 100644
--- a/server/api/condition/condition.rpc.js
+++ b/server/api/condition/condition.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/index.js b/server/api/condition/index.js
index 8c858cc..9f89e63 100644
--- a/server/api/condition/index.js
+++ b/server/api/condition/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.attributes.js b/server/api/dashboard/dashboard.attributes.js
index bcd250f..d89c756 100644
--- a/server/api/dashboard/dashboard.attributes.js
+++ b/server/api/dashboard/dashboard.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.controller.js b/server/api/dashboard/dashboard.controller.js
index d49f8b6..c494e20 100644
--- a/server/api/dashboard/dashboard.controller.js
+++ b/server/api/dashboard/dashboard.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.events.js b/server/api/dashboard/dashboard.events.js
index 3041b93..1c88916 100644
--- a/server/api/dashboard/dashboard.events.js
+++ b/server/api/dashboard/dashboard.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.model.js b/server/api/dashboard/dashboard.model.js
index 46f6d57..87374aa 100644
--- a/server/api/dashboard/dashboard.model.js
+++ b/server/api/dashboard/dashboard.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.rpc.js b/server/api/dashboard/dashboard.rpc.js
index 9e401d2..dc11280 100644
--- a/server/api/dashboard/dashboard.rpc.js
+++ b/server/api/dashboard/dashboard.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.socket.js b/server/api/dashboard/dashboard.socket.js
index 522a9a7..1af606c 100644
--- a/server/api/dashboard/dashboard.socket.js
+++ b/server/api/dashboard/dashboard.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/index.js b/server/api/dashboard/index.js
index 30f9a77..5219a11 100644
--- a/server/api/dashboard/index.js
+++ b/server/api/dashboard/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.attributes.js b/server/api/dashboardItem/dashboardItem.attributes.js
index 4464240..0481544 100644
--- a/server/api/dashboardItem/dashboardItem.attributes.js
+++ b/server/api/dashboardItem/dashboardItem.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.controller.js b/server/api/dashboardItem/dashboardItem.controller.js
index aac66d9..5b829ac 100644
--- a/server/api/dashboardItem/dashboardItem.controller.js
+++ b/server/api/dashboardItem/dashboardItem.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.events.js b/server/api/dashboardItem/dashboardItem.events.js
index 3fa57a7..fb85a29 100644
--- a/server/api/dashboardItem/dashboardItem.events.js
+++ b/server/api/dashboardItem/dashboardItem.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.model.js b/server/api/dashboardItem/dashboardItem.model.js
index b8be0a4..0c775fa 100644
--- a/server/api/dashboardItem/dashboardItem.model.js
+++ b/server/api/dashboardItem/dashboardItem.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.rpc.js b/server/api/dashboardItem/dashboardItem.rpc.js
index f7e71d6..443e204 100644
--- a/server/api/dashboardItem/dashboardItem.rpc.js
+++ b/server/api/dashboardItem/dashboardItem.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.socket.js b/server/api/dashboardItem/dashboardItem.socket.js
index d743ed1..07320d7 100644
--- a/server/api/dashboardItem/dashboardItem.socket.js
+++ b/server/api/dashboardItem/dashboardItem.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/index.js b/server/api/dashboardItem/index.js
index a0f6183..76c95af 100644
--- a/server/api/dashboardItem/index.js
+++ b/server/api/dashboardItem/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.attributes.js b/server/api/disposition/disposition.attributes.js
index bdf7066..9d1bfba 100644
--- a/server/api/disposition/disposition.attributes.js
+++ b/server/api/disposition/disposition.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x9f57=['sequelize','exports'];(function(_0x39ce74,_0x4fc373){var _0x57248e=function(_0x73646e){while(--_0x73646e){_0x39ce74['push'](_0x39ce74['shift']());}};_0x57248e(++_0x4fc373);}(_0x9f57,0x1e8));var _0x79f5=function(_0x25c09a,_0x456ca1){_0x25c09a=_0x25c09a-0x0;var _0x4b44ed=_0x9f57[_0x25c09a];return _0x4b44ed;};'use strict';var Sequelize=require(_0x79f5('0x0'));module[_0x79f5('0x1')]={'name':{'type':Sequelize['STRING'],'allowNull':![]}};
\ No newline at end of file
+var _0xf548=['STRING','sequelize','exports'];(function(_0x209941,_0x5c9988){var _0x1e8729=function(_0x51a9b8){while(--_0x51a9b8){_0x209941['push'](_0x209941['shift']());}};_0x1e8729(++_0x5c9988);}(_0xf548,0x85));var _0x8f54=function(_0x8b8564,_0x162976){_0x8b8564=_0x8b8564-0x0;var _0x360c61=_0xf548[_0x8b8564];return _0x360c61;};'use strict';var Sequelize=require(_0x8f54('0x0'));module[_0x8f54('0x1')]={'name':{'type':Sequelize[_0x8f54('0x2')],'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/disposition/disposition.controller.js b/server/api/disposition/disposition.controller.js
index d108db5..9ed608b 100644
--- a/server/api/disposition/disposition.controller.js
+++ b/server/api/disposition/disposition.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.model.js b/server/api/disposition/disposition.model.js
index e60d3af..4001a41 100644
--- a/server/api/disposition/disposition.model.js
+++ b/server/api/disposition/disposition.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.rpc.js b/server/api/disposition/disposition.rpc.js
index 0507209..f91e176 100644
--- a/server/api/disposition/disposition.rpc.js
+++ b/server/api/disposition/disposition.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/index.js b/server/api/disposition/index.js
index fbcd839..6daf508 100644
--- a/server/api/disposition/index.js
+++ b/server/api/disposition/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.attributes.js b/server/api/faxAccount/faxAccount.attributes.js
index f500b39..37062f1 100644
--- a/server/api/faxAccount/faxAccount.attributes.js
+++ b/server/api/faxAccount/faxAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.controller.js b/server/api/faxAccount/faxAccount.controller.js
index ed1add8..153dcb2 100644
--- a/server/api/faxAccount/faxAccount.controller.js
+++ b/server/api/faxAccount/faxAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.events.js b/server/api/faxAccount/faxAccount.events.js
index 75852c4..e5646d3 100644
--- a/server/api/faxAccount/faxAccount.events.js
+++ b/server/api/faxAccount/faxAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.model.js b/server/api/faxAccount/faxAccount.model.js
index 598bb72..09f04dd 100644
--- a/server/api/faxAccount/faxAccount.model.js
+++ b/server/api/faxAccount/faxAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.rpc.js b/server/api/faxAccount/faxAccount.rpc.js
index f836327..99d9406 100644
--- a/server/api/faxAccount/faxAccount.rpc.js
+++ b/server/api/faxAccount/faxAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.socket.js b/server/api/faxAccount/faxAccount.socket.js
index 161c495..3009f18 100644
--- a/server/api/faxAccount/faxAccount.socket.js
+++ b/server/api/faxAccount/faxAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/index.js b/server/api/faxAccount/index.js
index e991625..679a196 100644
--- a/server/api/faxAccount/index.js
+++ b/server/api/faxAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.attributes.js b/server/api/faxApplication/faxApplication.attributes.js
index 05d40bf..f5b916b 100644
--- a/server/api/faxApplication/faxApplication.attributes.js
+++ b/server/api/faxApplication/faxApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.controller.js b/server/api/faxApplication/faxApplication.controller.js
index 00ec08c..5ba6864 100644
--- a/server/api/faxApplication/faxApplication.controller.js
+++ b/server/api/faxApplication/faxApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.model.js b/server/api/faxApplication/faxApplication.model.js
index fea41bd..185f9ba 100644
--- a/server/api/faxApplication/faxApplication.model.js
+++ b/server/api/faxApplication/faxApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.rpc.js b/server/api/faxApplication/faxApplication.rpc.js
index 7da9096..f80582b 100644
--- a/server/api/faxApplication/faxApplication.rpc.js
+++ b/server/api/faxApplication/faxApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/index.js b/server/api/faxApplication/index.js
index d8dcdfd..f3fc635 100644
--- a/server/api/faxApplication/index.js
+++ b/server/api/faxApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.attributes.js b/server/api/faxInteraction/faxInteraction.attributes.js
index 07c368c..bc36294 100644
--- a/server/api/faxInteraction/faxInteraction.attributes.js
+++ b/server/api/faxInteraction/faxInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.controller.js b/server/api/faxInteraction/faxInteraction.controller.js
index 8de210c..9eed860 100644
--- a/server/api/faxInteraction/faxInteraction.controller.js
+++ b/server/api/faxInteraction/faxInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.events.js b/server/api/faxInteraction/faxInteraction.events.js
index 693d9ae..23199a7 100644
--- a/server/api/faxInteraction/faxInteraction.events.js
+++ b/server/api/faxInteraction/faxInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.model.js b/server/api/faxInteraction/faxInteraction.model.js
index 7931890..96f3dfe 100644
--- a/server/api/faxInteraction/faxInteraction.model.js
+++ b/server/api/faxInteraction/faxInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.rpc.js b/server/api/faxInteraction/faxInteraction.rpc.js
index be014e6..636c4c9 100644
--- a/server/api/faxInteraction/faxInteraction.rpc.js
+++ b/server/api/faxInteraction/faxInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.socket.js b/server/api/faxInteraction/faxInteraction.socket.js
index cdec157..d3f30b0 100644
--- a/server/api/faxInteraction/faxInteraction.socket.js
+++ b/server/api/faxInteraction/faxInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/index.js b/server/api/faxInteraction/index.js
index 1cbe110..94deea5 100644
--- a/server/api/faxInteraction/index.js
+++ b/server/api/faxInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.attributes.js b/server/api/faxMessage/faxMessage.attributes.js
index 2bbb058..bff915c 100644
--- a/server/api/faxMessage/faxMessage.attributes.js
+++ b/server/api/faxMessage/faxMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.controller.js b/server/api/faxMessage/faxMessage.controller.js
index 5c15273..210f5b4 100644
--- a/server/api/faxMessage/faxMessage.controller.js
+++ b/server/api/faxMessage/faxMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.events.js b/server/api/faxMessage/faxMessage.events.js
index e87a863..3bc3f04 100644
--- a/server/api/faxMessage/faxMessage.events.js
+++ b/server/api/faxMessage/faxMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.model.js b/server/api/faxMessage/faxMessage.model.js
index 092ceae..7676079 100644
--- a/server/api/faxMessage/faxMessage.model.js
+++ b/server/api/faxMessage/faxMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.rpc.js b/server/api/faxMessage/faxMessage.rpc.js
index 22858b5..64186bf 100644
--- a/server/api/faxMessage/faxMessage.rpc.js
+++ b/server/api/faxMessage/faxMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.socket.js b/server/api/faxMessage/faxMessage.socket.js
index 167fd9e..5e68b7d 100644
--- a/server/api/faxMessage/faxMessage.socket.js
+++ b/server/api/faxMessage/faxMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/index.js b/server/api/faxMessage/index.js
index 1388f1e..a7739a6 100644
--- a/server/api/faxMessage/index.js
+++ b/server/api/faxMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.attributes.js b/server/api/faxQueue/faxQueue.attributes.js
index a190ded..a6c373c 100644
--- a/server/api/faxQueue/faxQueue.attributes.js
+++ b/server/api/faxQueue/faxQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.controller.js b/server/api/faxQueue/faxQueue.controller.js
index 256707e..224dbf3 100644
--- a/server/api/faxQueue/faxQueue.controller.js
+++ b/server/api/faxQueue/faxQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.events.js b/server/api/faxQueue/faxQueue.events.js
index a68af10..ba9ac3d 100644
--- a/server/api/faxQueue/faxQueue.events.js
+++ b/server/api/faxQueue/faxQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.model.js b/server/api/faxQueue/faxQueue.model.js
index f4fcadc..537778e 100644
--- a/server/api/faxQueue/faxQueue.model.js
+++ b/server/api/faxQueue/faxQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.rpc.js b/server/api/faxQueue/faxQueue.rpc.js
index b15d44b..7c7d5a5 100644
--- a/server/api/faxQueue/faxQueue.rpc.js
+++ b/server/api/faxQueue/faxQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.socket.js b/server/api/faxQueue/faxQueue.socket.js
index 1b7696d..51787b6 100644
--- a/server/api/faxQueue/faxQueue.socket.js
+++ b/server/api/faxQueue/faxQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/index.js b/server/api/faxQueue/index.js
index b7d07ad..9dbb3ee 100644
--- a/server/api/faxQueue/index.js
+++ b/server/api/faxQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.attributes.js b/server/api/faxQueueReport/faxQueueReport.attributes.js
index 3b31479..b19bce6 100644
--- a/server/api/faxQueueReport/faxQueueReport.attributes.js
+++ b/server/api/faxQueueReport/faxQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.controller.js b/server/api/faxQueueReport/faxQueueReport.controller.js
index d237271..81752b5 100644
--- a/server/api/faxQueueReport/faxQueueReport.controller.js
+++ b/server/api/faxQueueReport/faxQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.model.js b/server/api/faxQueueReport/faxQueueReport.model.js
index ab41f1a..df2590f 100644
--- a/server/api/faxQueueReport/faxQueueReport.model.js
+++ b/server/api/faxQueueReport/faxQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.rpc.js b/server/api/faxQueueReport/faxQueueReport.rpc.js
index 08f9689..b792a1f 100644
--- a/server/api/faxQueueReport/faxQueueReport.rpc.js
+++ b/server/api/faxQueueReport/faxQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/index.js b/server/api/faxQueueReport/index.js
index d1dfbdf..0bd6f47 100644
--- a/server/api/faxQueueReport/index.js
+++ b/server/api/faxQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.attributes.js b/server/api/faxTransferReport/faxTransferReport.attributes.js
index 939c382..476b255 100644
--- a/server/api/faxTransferReport/faxTransferReport.attributes.js
+++ b/server/api/faxTransferReport/faxTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.controller.js b/server/api/faxTransferReport/faxTransferReport.controller.js
index c5655b3..81ae65c 100644
--- a/server/api/faxTransferReport/faxTransferReport.controller.js
+++ b/server/api/faxTransferReport/faxTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.model.js b/server/api/faxTransferReport/faxTransferReport.model.js
index ef65593..8d62cf0 100644
--- a/server/api/faxTransferReport/faxTransferReport.model.js
+++ b/server/api/faxTransferReport/faxTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.rpc.js b/server/api/faxTransferReport/faxTransferReport.rpc.js
index e1b4c3a..139576b 100644
--- a/server/api/faxTransferReport/faxTransferReport.rpc.js
+++ b/server/api/faxTransferReport/faxTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/index.js b/server/api/faxTransferReport/index.js
index 941bf29..71a03fd 100644
--- a/server/api/faxTransferReport/index.js
+++ b/server/api/faxTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/index.js b/server/api/intDeskAccount/index.js
index 719b236..c6b545a 100644
--- a/server/api/intDeskAccount/index.js
+++ b/server/api/intDeskAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.attributes.js b/server/api/intDeskAccount/intDeskAccount.attributes.js
index 9c7d12b..df91b02 100644
--- a/server/api/intDeskAccount/intDeskAccount.attributes.js
+++ b/server/api/intDeskAccount/intDeskAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.controller.js b/server/api/intDeskAccount/intDeskAccount.controller.js
index 3223c69..6d64d0b 100644
--- a/server/api/intDeskAccount/intDeskAccount.controller.js
+++ b/server/api/intDeskAccount/intDeskAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.model.js b/server/api/intDeskAccount/intDeskAccount.model.js
index f2fffdb..5b4d267 100644
--- a/server/api/intDeskAccount/intDeskAccount.model.js
+++ b/server/api/intDeskAccount/intDeskAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.rpc.js b/server/api/intDeskAccount/intDeskAccount.rpc.js
index 050a7ac..f9cca8b 100644
--- a/server/api/intDeskAccount/intDeskAccount.rpc.js
+++ b/server/api/intDeskAccount/intDeskAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/index.js b/server/api/intDeskConfiguration/index.js
index 2afa0b7..dc49cb0 100644
--- a/server/api/intDeskConfiguration/index.js
+++ b/server/api/intDeskConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js b/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
index a8850bf..ddd4b9a 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xbb56=['STRING','sequelize','exports'];(function(_0x5ae458,_0xc18d32){var _0x49e315=function(_0x382b71){while(--_0x382b71){_0x5ae458['push'](_0x5ae458['shift']());}};_0x49e315(++_0xc18d32);}(_0xbb56,0x172));var _0x6bb5=function(_0x18352d,_0x5a869e){_0x18352d=_0x18352d-0x0;var _0x33712c=_0xbb56[_0x18352d];return _0x33712c;};'use strict';var Sequelize=require(_0x6bb5('0x0'));module[_0x6bb5('0x1')]={'name':{'type':Sequelize[_0x6bb5('0x2')]},'description':{'type':Sequelize[_0x6bb5('0x2')]}};
\ No newline at end of file
+var _0xacb2=['STRING','sequelize','exports'];(function(_0x51a4f2,_0x216022){var _0x2026d6=function(_0x20fa5a){while(--_0x20fa5a){_0x51a4f2['push'](_0x51a4f2['shift']());}};_0x2026d6(++_0x216022);}(_0xacb2,0x181));var _0x2acb=function(_0x59d52d,_0x43630c){_0x59d52d=_0x59d52d-0x0;var _0x87b4ed=_0xacb2[_0x59d52d];return _0x87b4ed;};'use strict';var Sequelize=require(_0x2acb('0x0'));module[_0x2acb('0x1')]={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize[_0x2acb('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.controller.js b/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
index 14481b9..bb15b9b 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.model.js b/server/api/intDeskConfiguration/intDeskConfiguration.model.js
index 0599347..5b4d540 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.model.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js b/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js
index 131f1f4..4050f14 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/index.js b/server/api/intDeskField/index.js
index dd86149..e2a30d1 100644
--- a/server/api/intDeskField/index.js
+++ b/server/api/intDeskField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.attributes.js b/server/api/intDeskField/intDeskField.attributes.js
index 700fd12..7709cd2 100644
--- a/server/api/intDeskField/intDeskField.attributes.js
+++ b/server/api/intDeskField/intDeskField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.controller.js b/server/api/intDeskField/intDeskField.controller.js
index e7d1d0e..9e57e2b 100644
--- a/server/api/intDeskField/intDeskField.controller.js
+++ b/server/api/intDeskField/intDeskField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.model.js b/server/api/intDeskField/intDeskField.model.js
index e8e3948..c72b3ae 100644
--- a/server/api/intDeskField/intDeskField.model.js
+++ b/server/api/intDeskField/intDeskField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.rpc.js b/server/api/intDeskField/intDeskField.rpc.js
index 82bfd8e..21e9109 100644
--- a/server/api/intDeskField/intDeskField.rpc.js
+++ b/server/api/intDeskField/intDeskField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/index.js b/server/api/intDynamics365Account/index.js
index 3d4b298..f76a075 100644
--- a/server/api/intDynamics365Account/index.js
+++ b/server/api/intDynamics365Account/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.attributes.js b/server/api/intDynamics365Account/intDynamics365Account.attributes.js
index 6f7cda6..989ba2a 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.attributes.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.controller.js b/server/api/intDynamics365Account/intDynamics365Account.controller.js
index dd22675..b6b3270 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.controller.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.model.js b/server/api/intDynamics365Account/intDynamics365Account.model.js
index ba2f553..eba87a9 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.model.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.rpc.js b/server/api/intDynamics365Account/intDynamics365Account.rpc.js
index 23de8dd..0a5fb73 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.rpc.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/index.js b/server/api/intDynamics365Configuration/index.js
index ef43129..e692803 100644
--- a/server/api/intDynamics365Configuration/index.js
+++ b/server/api/intDynamics365Configuration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
index 50875ba..eb4a4dd 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
index 4208d9e..7c3a434 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
index 201e32c..0830e01 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js
index b9af693..10e9b4b 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/index.js b/server/api/intDynamics365Field/index.js
index 91c8567..9d1cb38 100644
--- a/server/api/intDynamics365Field/index.js
+++ b/server/api/intDynamics365Field/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.attributes.js b/server/api/intDynamics365Field/intDynamics365Field.attributes.js
index 20d44b7..2d86266 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.attributes.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.controller.js b/server/api/intDynamics365Field/intDynamics365Field.controller.js
index 572e364..feb9247 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.controller.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.model.js b/server/api/intDynamics365Field/intDynamics365Field.model.js
index 5247d8b..1b69b0f 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.model.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.rpc.js b/server/api/intDynamics365Field/intDynamics365Field.rpc.js
index a9c40a0..23c35f4 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.rpc.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/index.js b/server/api/intFreshdeskAccount/index.js
index 6cfa64a..1196e09 100644
--- a/server/api/intFreshdeskAccount/index.js
+++ b/server/api/intFreshdeskAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
index fa0dd96..4cf5f8e 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
index 9c4ed24..5b00c80 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
index 72b28ed..5dd3cd2 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
index 7e43176..009d4ee 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/index.js b/server/api/intFreshdeskConfiguration/index.js
index bf2c69f..0b46bb3 100644
--- a/server/api/intFreshdeskConfiguration/index.js
+++ b/server/api/intFreshdeskConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
index d1a5ce3..62e260a 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xbc25=['exports','STRING','sequelize'];(function(_0x19896e,_0x2ae7c4){var _0x49533d=function(_0x516906){while(--_0x516906){_0x19896e['push'](_0x19896e['shift']());}};_0x49533d(++_0x2ae7c4);}(_0xbc25,0x18e));var _0x5bc2=function(_0x1daeaa,_0x102077){_0x1daeaa=_0x1daeaa-0x0;var _0x21e49e=_0xbc25[_0x1daeaa];return _0x21e49e;};'use strict';var Sequelize=require(_0x5bc2('0x0'));module[_0x5bc2('0x1')]={'name':{'type':Sequelize[_0x5bc2('0x2')]},'description':{'type':Sequelize[_0x5bc2('0x2')]}};
\ No newline at end of file
+var _0xc063=['sequelize','exports','STRING'];(function(_0x52085a,_0x3717ca){var _0x5afc1a=function(_0x2aa175){while(--_0x2aa175){_0x52085a['push'](_0x52085a['shift']());}};_0x5afc1a(++_0x3717ca);}(_0xc063,0xed));var _0x3c06=function(_0x1c0a06,_0x53b821){_0x1c0a06=_0x1c0a06-0x0;var _0x43e800=_0xc063[_0x1c0a06];return _0x43e800;};'use strict';var Sequelize=require(_0x3c06('0x0'));module[_0x3c06('0x1')]={'name':{'type':Sequelize[_0x3c06('0x2')]},'description':{'type':Sequelize[_0x3c06('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
index cc8360a..0dec06a 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
index adb86ab..92ac91a 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js
index a076166..08c99b6 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/index.js b/server/api/intFreshdeskField/index.js
index cee11a1..9ceda2f 100644
--- a/server/api/intFreshdeskField/index.js
+++ b/server/api/intFreshdeskField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.attributes.js b/server/api/intFreshdeskField/intFreshdeskField.attributes.js
index 909df94..a23abd9 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.attributes.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.controller.js b/server/api/intFreshdeskField/intFreshdeskField.controller.js
index c3e05b5..e26e0e9 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.controller.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.model.js b/server/api/intFreshdeskField/intFreshdeskField.model.js
index e975307..f26d3a4 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.model.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.rpc.js b/server/api/intFreshdeskField/intFreshdeskField.rpc.js
index 1adeb00..90f0020 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.rpc.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/index.js b/server/api/intFreshsalesAccount/index.js
index 30a7b40..f4fccc0 100644
--- a/server/api/intFreshsalesAccount/index.js
+++ b/server/api/intFreshsalesAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js
index d4bc246..a4da9d8 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js
index cf6bbd9..53f3bf8 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js
index 0a98bc0..7490321 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js
index ddfc356..892a105 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/index.js b/server/api/intFreshsalesConfiguration/index.js
index 6f9198f..6ee7bb7 100644
--- a/server/api/intFreshsalesConfiguration/index.js
+++ b/server/api/intFreshsalesConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js
index fe287b3..b2e0378 100644
--- a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js
+++ b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x1115=['STRING','sequelize','exports'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1115,0x16c));var _0x5111=function(_0xab235,_0x5e6372){_0xab235=_0xab235-0x0;var _0x3fcec6=_0x1115[_0xab235];return _0x3fcec6;};'use strict';var Sequelize=require(_0x5111('0x0'));module[_0x5111('0x1')]={'name':{'type':Sequelize[_0x5111('0x2')]},'description':{'type':Sequelize[_0x5111('0x2')]}};
\ No newline at end of file
+var _0xda32=['exports','STRING','sequelize'];(function(_0x55d7c2,_0x4ce6fb){var _0x1755ef=function(_0xddc25c){while(--_0xddc25c){_0x55d7c2['push'](_0x55d7c2['shift']());}};_0x1755ef(++_0x4ce6fb);}(_0xda32,0xb3));var _0x2da3=function(_0x4aeaf1,_0x1d065b){_0x4aeaf1=_0x4aeaf1-0x0;var _0x21134a=_0xda32[_0x4aeaf1];return _0x21134a;};'use strict';var Sequelize=require(_0x2da3('0x0'));module[_0x2da3('0x1')]={'name':{'type':Sequelize[_0x2da3('0x2')]},'description':{'type':Sequelize[_0x2da3('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js
index 658f3c8..ae8c4ae 100644
--- a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js
+++ b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js
index 4da6e5c..d75821d 100644
--- a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js
+++ b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.rpc.js b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.rpc.js
index b57c33a..89f4b07 100644
--- a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.rpc.js
+++ b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/index.js b/server/api/intFreshsalesField/index.js
index 5b25df8..3035fc9 100644
--- a/server/api/intFreshsalesField/index.js
+++ b/server/api/intFreshsalesField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/intFreshsalesField.attributes.js b/server/api/intFreshsalesField/intFreshsalesField.attributes.js
index 07ed2ac..ffc55f4 100644
--- a/server/api/intFreshsalesField/intFreshsalesField.attributes.js
+++ b/server/api/intFreshsalesField/intFreshsalesField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/intFreshsalesField.controller.js b/server/api/intFreshsalesField/intFreshsalesField.controller.js
index 4d052f5..adaaf33 100644
--- a/server/api/intFreshsalesField/intFreshsalesField.controller.js
+++ b/server/api/intFreshsalesField/intFreshsalesField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/intFreshsalesField.model.js b/server/api/intFreshsalesField/intFreshsalesField.model.js
index ed69556..6362036 100644
--- a/server/api/intFreshsalesField/intFreshsalesField.model.js
+++ b/server/api/intFreshsalesField/intFreshsalesField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/intFreshsalesField.rpc.js b/server/api/intFreshsalesField/intFreshsalesField.rpc.js
index f0c5664..3ba6531 100644
--- a/server/api/intFreshsalesField/intFreshsalesField.rpc.js
+++ b/server/api/intFreshsalesField/intFreshsalesField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/index.js b/server/api/intSalesforceAccount/index.js
index 8054ecb..04a0a3e 100644
--- a/server/api/intSalesforceAccount/index.js
+++ b/server/api/intSalesforceAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js b/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
index 82cf91b..373cb3e 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.controller.js b/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
index 5dd6451..c8f02d9 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.model.js b/server/api/intSalesforceAccount/intSalesforceAccount.model.js
index 5f222f6..bdac895 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.model.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js b/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
index dcbeaf4..f4b0d5f 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/index.js b/server/api/intSalesforceConfiguration/index.js
index 2f8200b..7028493 100644
--- a/server/api/intSalesforceConfiguration/index.js
+++ b/server/api/intSalesforceConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
index 64be10e..3e3f734 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
index 0e9e154..4b97d94 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
index 3fd7704..bf93cb7 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js
index cb39277..ef0bac0 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/index.js b/server/api/intSalesforceField/index.js
index 2d03c69..7838198 100644
--- a/server/api/intSalesforceField/index.js
+++ b/server/api/intSalesforceField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.attributes.js b/server/api/intSalesforceField/intSalesforceField.attributes.js
index 2389318..3b84100 100644
--- a/server/api/intSalesforceField/intSalesforceField.attributes.js
+++ b/server/api/intSalesforceField/intSalesforceField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.controller.js b/server/api/intSalesforceField/intSalesforceField.controller.js
index cbbf002..a964b0f 100644
--- a/server/api/intSalesforceField/intSalesforceField.controller.js
+++ b/server/api/intSalesforceField/intSalesforceField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.model.js b/server/api/intSalesforceField/intSalesforceField.model.js
index d1bbd36..003384d 100644
--- a/server/api/intSalesforceField/intSalesforceField.model.js
+++ b/server/api/intSalesforceField/intSalesforceField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.rpc.js b/server/api/intSalesforceField/intSalesforceField.rpc.js
index 93ebbdb..3447e02 100644
--- a/server/api/intSalesforceField/intSalesforceField.rpc.js
+++ b/server/api/intSalesforceField/intSalesforceField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/index.js b/server/api/intServicenowAccount/index.js
index 0ebef3e..09bdabb 100644
--- a/server/api/intServicenowAccount/index.js
+++ b/server/api/intServicenowAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.attributes.js b/server/api/intServicenowAccount/intServicenowAccount.attributes.js
index 43450fa..7aea0f9 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.attributes.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.controller.js b/server/api/intServicenowAccount/intServicenowAccount.controller.js
index 546fa39..1b384ba 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.controller.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.model.js b/server/api/intServicenowAccount/intServicenowAccount.model.js
index 1622ea2..c06749e 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.model.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.rpc.js b/server/api/intServicenowAccount/intServicenowAccount.rpc.js
index 98e5eb4..698ea8d 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.rpc.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/index.js b/server/api/intServicenowConfiguration/index.js
index f8010d2..3018a71 100644
--- a/server/api/intServicenowConfiguration/index.js
+++ b/server/api/intServicenowConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
index 7fb7d54..81a5cb5 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x2e9d=['sequelize','STRING'];(function(_0x309078,_0x4ee860){var _0x12d2e2=function(_0x183735){while(--_0x183735){_0x309078['push'](_0x309078['shift']());}};_0x12d2e2(++_0x4ee860);}(_0x2e9d,0xbc));var _0xd2e9=function(_0x88cd7b,_0x4c884c){_0x88cd7b=_0x88cd7b-0x0;var _0x56fcc8=_0x2e9d[_0x88cd7b];return _0x56fcc8;};'use strict';var Sequelize=require(_0xd2e9('0x0'));module['exports']={'name':{'type':Sequelize[_0xd2e9('0x1')]},'description':{'type':Sequelize[_0xd2e9('0x1')]}};
\ No newline at end of file
+var _0x4c6c=['STRING'];(function(_0x1846f3,_0x431932){var _0x5de017=function(_0x230b86){while(--_0x230b86){_0x1846f3['push'](_0x1846f3['shift']());}};_0x5de017(++_0x431932);}(_0x4c6c,0x1cc));var _0xc4c6=function(_0x42d912,_0x474144){_0x42d912=_0x42d912-0x0;var _0x568063=_0x4c6c[_0x42d912];return _0x568063;};'use strict';var Sequelize=require('sequelize');module['exports']={'name':{'type':Sequelize[_0xc4c6('0x0')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
index 302f99f..817adc0 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
index eef793a..360395e 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js
index ef74625..b7c9f9c 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/index.js b/server/api/intServicenowField/index.js
index 9034b5c..c12f572 100644
--- a/server/api/intServicenowField/index.js
+++ b/server/api/intServicenowField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.attributes.js b/server/api/intServicenowField/intServicenowField.attributes.js
index 9f4bc3c..83ed154 100644
--- a/server/api/intServicenowField/intServicenowField.attributes.js
+++ b/server/api/intServicenowField/intServicenowField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.controller.js b/server/api/intServicenowField/intServicenowField.controller.js
index cdd5fe7..f5a2543 100644
--- a/server/api/intServicenowField/intServicenowField.controller.js
+++ b/server/api/intServicenowField/intServicenowField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.model.js b/server/api/intServicenowField/intServicenowField.model.js
index 989f221..1f5fdf4 100644
--- a/server/api/intServicenowField/intServicenowField.model.js
+++ b/server/api/intServicenowField/intServicenowField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.rpc.js b/server/api/intServicenowField/intServicenowField.rpc.js
index c00444e..ee696b7 100644
--- a/server/api/intServicenowField/intServicenowField.rpc.js
+++ b/server/api/intServicenowField/intServicenowField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/index.js b/server/api/intSugarcrmAccount/index.js
index 88a7280..0faf442 100644
--- a/server/api/intSugarcrmAccount/index.js
+++ b/server/api/intSugarcrmAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
index 5632be4..ec5985e 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
index b53983c..c42adfc 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
index a66a51d..6143203 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
index 8292940..b79ed39 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/index.js b/server/api/intSugarcrmConfiguration/index.js
index 472e2a6..cdc46c7 100644
--- a/server/api/intSugarcrmConfiguration/index.js
+++ b/server/api/intSugarcrmConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
index b0663c9..5516c48 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xc07a=['sequelize','exports','STRING'];(function(_0xa1029b,_0x1c71cb){var _0x289efd=function(_0xc28f1d){while(--_0xc28f1d){_0xa1029b['push'](_0xa1029b['shift']());}};_0x289efd(++_0x1c71cb);}(_0xc07a,0x8d));var _0xac07=function(_0x13bcd1,_0x4b02b3){_0x13bcd1=_0x13bcd1-0x0;var _0x5519cb=_0xc07a[_0x13bcd1];return _0x5519cb;};'use strict';var Sequelize=require(_0xac07('0x0'));module[_0xac07('0x1')]={'name':{'type':Sequelize[_0xac07('0x2')]},'description':{'type':Sequelize[_0xac07('0x2')]}};
\ No newline at end of file
+var _0x14df=['STRING','sequelize','exports'];(function(_0x37d0be,_0x4b6660){var _0x2474e2=function(_0x277451){while(--_0x277451){_0x37d0be['push'](_0x37d0be['shift']());}};_0x2474e2(++_0x4b6660);}(_0x14df,0xe2));var _0xf14d=function(_0x132836,_0x2bcae1){_0x132836=_0x132836-0x0;var _0x314e44=_0x14df[_0x132836];return _0x314e44;};'use strict';var Sequelize=require(_0xf14d('0x0'));module[_0xf14d('0x1')]={'name':{'type':Sequelize[_0xf14d('0x2')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
index 5108937..6c9f024 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
index f3a6bde..b651dc7 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js
index 074470d..dc7dd56 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/index.js b/server/api/intSugarcrmField/index.js
index 3b2e932..98a6e13 100644
--- a/server/api/intSugarcrmField/index.js
+++ b/server/api/intSugarcrmField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.attributes.js b/server/api/intSugarcrmField/intSugarcrmField.attributes.js
index 7c282e1..0fc76d8 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.attributes.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.controller.js b/server/api/intSugarcrmField/intSugarcrmField.controller.js
index 41a35f3..d6e5bf2 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.controller.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.model.js b/server/api/intSugarcrmField/intSugarcrmField.model.js
index 5b81346..383b7aa 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.model.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.rpc.js b/server/api/intSugarcrmField/intSugarcrmField.rpc.js
index 4b35aee..f724404 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.rpc.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/index.js b/server/api/intVtigerAccount/index.js
index 9fe2fc3..934359c 100644
--- a/server/api/intVtigerAccount/index.js
+++ b/server/api/intVtigerAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.attributes.js b/server/api/intVtigerAccount/intVtigerAccount.attributes.js
index 87d5c1d..6e9b055 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.attributes.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.controller.js b/server/api/intVtigerAccount/intVtigerAccount.controller.js
index f9e0fd8..01de5e8 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.controller.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.model.js b/server/api/intVtigerAccount/intVtigerAccount.model.js
index f09db9c..4b3a29b 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.model.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.rpc.js b/server/api/intVtigerAccount/intVtigerAccount.rpc.js
index fdafd73..0972dde 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.rpc.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/index.js b/server/api/intVtigerConfiguration/index.js
index d1d54d5..51e4e39 100644
--- a/server/api/intVtigerConfiguration/index.js
+++ b/server/api/intVtigerConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
index 673f69e..60fbccf 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x9bbc=['STRING','sequelize'];(function(_0x465028,_0x4570ac){var _0xb783d4=function(_0x5458c5){while(--_0x5458c5){_0x465028['push'](_0x465028['shift']());}};_0xb783d4(++_0x4570ac);}(_0x9bbc,0x143));var _0xc9bb=function(_0x172427,_0x5024a9){_0x172427=_0x172427-0x0;var _0x294052=_0x9bbc[_0x172427];return _0x294052;};'use strict';var Sequelize=require(_0xc9bb('0x0'));module['exports']={'name':{'type':Sequelize[_0xc9bb('0x1')]},'description':{'type':Sequelize[_0xc9bb('0x1')]}};
\ No newline at end of file
+var _0xa589=['sequelize','exports','STRING'];(function(_0x48025d,_0x368a9b){var _0x32b0e1=function(_0x3a4886){while(--_0x3a4886){_0x48025d['push'](_0x48025d['shift']());}};_0x32b0e1(++_0x368a9b);}(_0xa589,0x6c));var _0x9a58=function(_0x95e21d,_0x36861e){_0x95e21d=_0x95e21d-0x0;var _0x3fd266=_0xa589[_0x95e21d];return _0x3fd266;};'use strict';var Sequelize=require(_0x9a58('0x0'));module[_0x9a58('0x1')]={'name':{'type':Sequelize[_0x9a58('0x2')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
index 72effbc..65b259d 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
index 51d12d0..6715155 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js
index 86f76cb..ea3dd8e 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/index.js b/server/api/intVtigerField/index.js
index 68fae6a..4a5411f 100644
--- a/server/api/intVtigerField/index.js
+++ b/server/api/intVtigerField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.attributes.js b/server/api/intVtigerField/intVtigerField.attributes.js
index 3dfc940..9fa0454 100644
--- a/server/api/intVtigerField/intVtigerField.attributes.js
+++ b/server/api/intVtigerField/intVtigerField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.controller.js b/server/api/intVtigerField/intVtigerField.controller.js
index 1b5bf0b..e0e146b 100644
--- a/server/api/intVtigerField/intVtigerField.controller.js
+++ b/server/api/intVtigerField/intVtigerField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.model.js b/server/api/intVtigerField/intVtigerField.model.js
index 6a61d5f..fc1daae 100644
--- a/server/api/intVtigerField/intVtigerField.model.js
+++ b/server/api/intVtigerField/intVtigerField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.rpc.js b/server/api/intVtigerField/intVtigerField.rpc.js
index ee8f3a0..00544b1 100644
--- a/server/api/intVtigerField/intVtigerField.rpc.js
+++ b/server/api/intVtigerField/intVtigerField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/index.js b/server/api/intZendeskAccount/index.js
index 36f92c6..33ed3c1 100644
--- a/server/api/intZendeskAccount/index.js
+++ b/server/api/intZendeskAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.attributes.js b/server/api/intZendeskAccount/intZendeskAccount.attributes.js
index a9f7f73..5ded620 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.attributes.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.controller.js b/server/api/intZendeskAccount/intZendeskAccount.controller.js
index f1a3b9a..9cd2594 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.controller.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.model.js b/server/api/intZendeskAccount/intZendeskAccount.model.js
index 196d00b..6c8e37c 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.model.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.rpc.js b/server/api/intZendeskAccount/intZendeskAccount.rpc.js
index f8086bd..1c91900 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.rpc.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/index.js b/server/api/intZendeskConfiguration/index.js
index 4bb9a4a..4b45b73 100644
--- a/server/api/intZendeskConfiguration/index.js
+++ b/server/api/intZendeskConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
index 1195c0f..78a6d8a 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x8938=['sequelize','STRING'];(function(_0x4fc9e6,_0xc51915){var _0x551d28=function(_0x1a603b){while(--_0x1a603b){_0x4fc9e6['push'](_0x4fc9e6['shift']());}};_0x551d28(++_0xc51915);}(_0x8938,0x102));var _0x8893=function(_0x138293,_0x197e7f){_0x138293=_0x138293-0x0;var _0x34c4a2=_0x8938[_0x138293];return _0x34c4a2;};'use strict';var Sequelize=require(_0x8893('0x0'));module['exports']={'name':{'type':Sequelize[_0x8893('0x1')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
+var _0xd332=['exports','STRING','sequelize'];(function(_0x1facfa,_0x1acf7d){var _0x9ec701=function(_0x115e37){while(--_0x115e37){_0x1facfa['push'](_0x1facfa['shift']());}};_0x9ec701(++_0x1acf7d);}(_0xd332,0x89));var _0x2d33=function(_0x819464,_0x46fc91){_0x819464=_0x819464-0x0;var _0x49dcc0=_0xd332[_0x819464];return _0x49dcc0;};'use strict';var Sequelize=require(_0x2d33('0x0'));module[_0x2d33('0x1')]={'name':{'type':Sequelize[_0x2d33('0x2')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
index aaa0635..c0d2e41 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
index e4deeab..7d39138 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js
index fc98cc1..0ee7df6 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/index.js b/server/api/intZendeskField/index.js
index 730e2de..8fdbe7d 100644
--- a/server/api/intZendeskField/index.js
+++ b/server/api/intZendeskField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.attributes.js b/server/api/intZendeskField/intZendeskField.attributes.js
index b54345d..ef8cf8c 100644
--- a/server/api/intZendeskField/intZendeskField.attributes.js
+++ b/server/api/intZendeskField/intZendeskField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.controller.js b/server/api/intZendeskField/intZendeskField.controller.js
index 52a32eb..529e58f 100644
--- a/server/api/intZendeskField/intZendeskField.controller.js
+++ b/server/api/intZendeskField/intZendeskField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.model.js b/server/api/intZendeskField/intZendeskField.model.js
index 0cd7f9f..d1aa341 100644
--- a/server/api/intZendeskField/intZendeskField.model.js
+++ b/server/api/intZendeskField/intZendeskField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.rpc.js b/server/api/intZendeskField/intZendeskField.rpc.js
index 73c3ead..2d610db 100644
--- a/server/api/intZendeskField/intZendeskField.rpc.js
+++ b/server/api/intZendeskField/intZendeskField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/index.js b/server/api/intZohoAccount/index.js
index 86e7a0c..3215f9d 100644
--- a/server/api/intZohoAccount/index.js
+++ b/server/api/intZohoAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.attributes.js b/server/api/intZohoAccount/intZohoAccount.attributes.js
index 4881a4a..1cc2756 100644
--- a/server/api/intZohoAccount/intZohoAccount.attributes.js
+++ b/server/api/intZohoAccount/intZohoAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.controller.js b/server/api/intZohoAccount/intZohoAccount.controller.js
index 726f1da..4b39155 100644
--- a/server/api/intZohoAccount/intZohoAccount.controller.js
+++ b/server/api/intZohoAccount/intZohoAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.model.js b/server/api/intZohoAccount/intZohoAccount.model.js
index 53dad24..8df4ff2 100644
--- a/server/api/intZohoAccount/intZohoAccount.model.js
+++ b/server/api/intZohoAccount/intZohoAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.rpc.js b/server/api/intZohoAccount/intZohoAccount.rpc.js
index f0cae36..c822b74 100644
--- a/server/api/intZohoAccount/intZohoAccount.rpc.js
+++ b/server/api/intZohoAccount/intZohoAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/index.js b/server/api/intZohoConfiguration/index.js
index ff49d49..47dcb1e 100644
--- a/server/api/intZohoConfiguration/index.js
+++ b/server/api/intZohoConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js b/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
index 2bc9242..3a9a5fd 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.controller.js b/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
index b422d99..b784347 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.model.js b/server/api/intZohoConfiguration/intZohoConfiguration.model.js
index 04fa31c..72b1d5e 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.model.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js b/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js
index b490b9d..6da12b8 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/index.js b/server/api/intZohoField/index.js
index 2a6a956..95c45ce 100644
--- a/server/api/intZohoField/index.js
+++ b/server/api/intZohoField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.attributes.js b/server/api/intZohoField/intZohoField.attributes.js
index 005daae..c7154c1 100644
--- a/server/api/intZohoField/intZohoField.attributes.js
+++ b/server/api/intZohoField/intZohoField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.controller.js b/server/api/intZohoField/intZohoField.controller.js
index 6ff70d6..23bfe80 100644
--- a/server/api/intZohoField/intZohoField.controller.js
+++ b/server/api/intZohoField/intZohoField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.model.js b/server/api/intZohoField/intZohoField.model.js
index 76e2804..38926aa 100644
--- a/server/api/intZohoField/intZohoField.model.js
+++ b/server/api/intZohoField/intZohoField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.rpc.js b/server/api/intZohoField/intZohoField.rpc.js
index a0b1efa..9401b96 100644
--- a/server/api/intZohoField/intZohoField.rpc.js
+++ b/server/api/intZohoField/intZohoField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/index.js b/server/api/integration/index.js
index f235c77..a9f1255 100644
--- a/server/api/integration/index.js
+++ b/server/api/integration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.attributes.js b/server/api/integration/integration.attributes.js
index 125ac8b..ac31b22 100644
--- a/server/api/integration/integration.attributes.js
+++ b/server/api/integration/integration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.controller.js b/server/api/integration/integration.controller.js
index 1adb016..60000cc 100644
--- a/server/api/integration/integration.controller.js
+++ b/server/api/integration/integration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.model.js b/server/api/integration/integration.model.js
index 1edd4d7..03928fe 100644
--- a/server/api/integration/integration.model.js
+++ b/server/api/integration/integration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.rpc.js b/server/api/integration/integration.rpc.js
index 8635391..9b3b00c 100644
--- a/server/api/integration/integration.rpc.js
+++ b/server/api/integration/integration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/index.js b/server/api/integrationReport/index.js
index 6a16730..e064a75 100644
--- a/server/api/integrationReport/index.js
+++ b/server/api/integrationReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.attributes.js b/server/api/integrationReport/integrationReport.attributes.js
index f5719ec..c4a9b8f 100644
--- a/server/api/integrationReport/integrationReport.attributes.js
+++ b/server/api/integrationReport/integrationReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.controller.js b/server/api/integrationReport/integrationReport.controller.js
index e910cef..40fb3c1 100644
--- a/server/api/integrationReport/integrationReport.controller.js
+++ b/server/api/integrationReport/integrationReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.model.js b/server/api/integrationReport/integrationReport.model.js
index be9ffcd..dcf03b1 100644
--- a/server/api/integrationReport/integrationReport.model.js
+++ b/server/api/integrationReport/integrationReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.rpc.js b/server/api/integrationReport/integrationReport.rpc.js
index b6783d1..85f43d2 100644
--- a/server/api/integrationReport/integrationReport.rpc.js
+++ b/server/api/integrationReport/integrationReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/index.js b/server/api/interval/index.js
index d55f402..b490bd4 100644
--- a/server/api/interval/index.js
+++ b/server/api/interval/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.attributes.js b/server/api/interval/interval.attributes.js
index cdb5f94..7729473 100644
--- a/server/api/interval/interval.attributes.js
+++ b/server/api/interval/interval.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.controller.js b/server/api/interval/interval.controller.js
index 496e3d5..17055ed 100644
--- a/server/api/interval/interval.controller.js
+++ b/server/api/interval/interval.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.model.js b/server/api/interval/interval.model.js
index ac5f976..c32b614 100644
--- a/server/api/interval/interval.model.js
+++ b/server/api/interval/interval.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.rpc.js b/server/api/interval/interval.rpc.js
index 095edcb..40c477b 100644
--- a/server/api/interval/interval.rpc.js
+++ b/server/api/interval/interval.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jira/index.js b/server/api/jira/index.js
index d01188b..e26a287 100644
--- a/server/api/jira/index.js
+++ b/server/api/jira/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jira/jira.controller.js b/server/api/jira/jira.controller.js
index 7c4ce7a..5f22fff 100644
--- a/server/api/jira/jira.controller.js
+++ b/server/api/jira/jira.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/index.js b/server/api/jscriptyAnswerReport/index.js
index 447fb8d..ae74452 100644
--- a/server/api/jscriptyAnswerReport/index.js
+++ b/server/api/jscriptyAnswerReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
index 8263ca9..7a5cc5d 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
index aaf7f28..29acad4 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
index 4eddfee..259fff4 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js
index 5fb63c9..46c60c1 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/index.js b/server/api/jscriptyProject/index.js
index 3b003db..8550a5e 100644
--- a/server/api/jscriptyProject/index.js
+++ b/server/api/jscriptyProject/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.attributes.js b/server/api/jscriptyProject/jscriptyProject.attributes.js
index ad2061f..6826920 100644
--- a/server/api/jscriptyProject/jscriptyProject.attributes.js
+++ b/server/api/jscriptyProject/jscriptyProject.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.controller.js b/server/api/jscriptyProject/jscriptyProject.controller.js
index 0b0996b..7a8160d 100644
--- a/server/api/jscriptyProject/jscriptyProject.controller.js
+++ b/server/api/jscriptyProject/jscriptyProject.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.model.js b/server/api/jscriptyProject/jscriptyProject.model.js
index 8789934..5bc5443 100644
--- a/server/api/jscriptyProject/jscriptyProject.model.js
+++ b/server/api/jscriptyProject/jscriptyProject.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.rpc.js b/server/api/jscriptyProject/jscriptyProject.rpc.js
index f7f773f..b43d26b 100644
--- a/server/api/jscriptyProject/jscriptyProject.rpc.js
+++ b/server/api/jscriptyProject/jscriptyProject.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/index.js b/server/api/jscriptyQuestionReport/index.js
index 90167ac..b7bb020 100644
--- a/server/api/jscriptyQuestionReport/index.js
+++ b/server/api/jscriptyQuestionReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
index 2e737e7..556ccf6 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
index 2c56552..3dd6514 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
index 3f2f2a1..3d79e29 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js
index 715c271..ae035c1 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/index.js b/server/api/jscriptySessionReport/index.js
index 85a1798..7e9bedf 100644
--- a/server/api/jscriptySessionReport/index.js
+++ b/server/api/jscriptySessionReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js b/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
index d10c74b..44fe4a5 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.controller.js b/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
index 8927ed9..3aaec2f 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.model.js b/server/api/jscriptySessionReport/jscriptySessionReport.model.js
index adffbfe..7bfb239 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.model.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js b/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js
index 32bc7ed..a69520d 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/index.js b/server/api/license/index.js
index de69ac6..522c4a5 100644
--- a/server/api/license/index.js
+++ b/server/api/license/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.attributes.js b/server/api/license/license.attributes.js
index da4570f..765bc53 100644
--- a/server/api/license/license.attributes.js
+++ b/server/api/license/license.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.controller.js b/server/api/license/license.controller.js
index 1b1a3e7..a33dcf3 100644
--- a/server/api/license/license.controller.js
+++ b/server/api/license/license.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.model.js b/server/api/license/license.model.js
index f8f8403..106b1d1 100644
--- a/server/api/license/license.model.js
+++ b/server/api/license/license.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.rpc.js b/server/api/license/license.rpc.js
index b3a7a32..4a1d1e3 100644
--- a/server/api/license/license.rpc.js
+++ b/server/api/license/license.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/index.js b/server/api/mailAccount/index.js
index 2d8a824..685464d 100644
--- a/server/api/mailAccount/index.js
+++ b/server/api/mailAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.attributes.js b/server/api/mailAccount/mailAccount.attributes.js
index 16fa33b..3251b39 100644
--- a/server/api/mailAccount/mailAccount.attributes.js
+++ b/server/api/mailAccount/mailAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.controller.js b/server/api/mailAccount/mailAccount.controller.js
index 78e8145..4c11ba3 100644
--- a/server/api/mailAccount/mailAccount.controller.js
+++ b/server/api/mailAccount/mailAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.events.js b/server/api/mailAccount/mailAccount.events.js
index 7f11a37..ce65abf 100644
--- a/server/api/mailAccount/mailAccount.events.js
+++ b/server/api/mailAccount/mailAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.model.js b/server/api/mailAccount/mailAccount.model.js
index 67b45bf..119e1ca 100644
--- a/server/api/mailAccount/mailAccount.model.js
+++ b/server/api/mailAccount/mailAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.rpc.js b/server/api/mailAccount/mailAccount.rpc.js
index e4f8465..498a3b3 100644
--- a/server/api/mailAccount/mailAccount.rpc.js
+++ b/server/api/mailAccount/mailAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.socket.js b/server/api/mailAccount/mailAccount.socket.js
index 3f9b58d..10be056 100644
--- a/server/api/mailAccount/mailAccount.socket.js
+++ b/server/api/mailAccount/mailAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/index.js b/server/api/mailApplication/index.js
index c51755d..bea0d3e 100644
--- a/server/api/mailApplication/index.js
+++ b/server/api/mailApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.attributes.js b/server/api/mailApplication/mailApplication.attributes.js
index 2eaab43..f0b538a 100644
--- a/server/api/mailApplication/mailApplication.attributes.js
+++ b/server/api/mailApplication/mailApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.controller.js b/server/api/mailApplication/mailApplication.controller.js
index 1a02162..5ea05a0 100644
--- a/server/api/mailApplication/mailApplication.controller.js
+++ b/server/api/mailApplication/mailApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.model.js b/server/api/mailApplication/mailApplication.model.js
index 618ab03..d7e30bf 100644
--- a/server/api/mailApplication/mailApplication.model.js
+++ b/server/api/mailApplication/mailApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.rpc.js b/server/api/mailApplication/mailApplication.rpc.js
index 2b5283c..c6dd11c 100644
--- a/server/api/mailApplication/mailApplication.rpc.js
+++ b/server/api/mailApplication/mailApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/index.js b/server/api/mailInteraction/index.js
index 8f0b3f7..bc16553 100644
--- a/server/api/mailInteraction/index.js
+++ b/server/api/mailInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.attributes.js b/server/api/mailInteraction/mailInteraction.attributes.js
index fc54395..ea23364 100644
--- a/server/api/mailInteraction/mailInteraction.attributes.js
+++ b/server/api/mailInteraction/mailInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.controller.js b/server/api/mailInteraction/mailInteraction.controller.js
index 7b90c73..b49bbeb 100644
--- a/server/api/mailInteraction/mailInteraction.controller.js
+++ b/server/api/mailInteraction/mailInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.events.js b/server/api/mailInteraction/mailInteraction.events.js
index fba65b5..f3f0d78 100644
--- a/server/api/mailInteraction/mailInteraction.events.js
+++ b/server/api/mailInteraction/mailInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.model.js b/server/api/mailInteraction/mailInteraction.model.js
index 7083817..4d34bd5 100644
--- a/server/api/mailInteraction/mailInteraction.model.js
+++ b/server/api/mailInteraction/mailInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.rpc.js b/server/api/mailInteraction/mailInteraction.rpc.js
index c5261e0..a196c75 100644
--- a/server/api/mailInteraction/mailInteraction.rpc.js
+++ b/server/api/mailInteraction/mailInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.socket.js b/server/api/mailInteraction/mailInteraction.socket.js
index 295fb85..071ff9e 100644
--- a/server/api/mailInteraction/mailInteraction.socket.js
+++ b/server/api/mailInteraction/mailInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/index.js b/server/api/mailMessage/index.js
index ab07b10..846ea44 100644
--- a/server/api/mailMessage/index.js
+++ b/server/api/mailMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.attributes.js b/server/api/mailMessage/mailMessage.attributes.js
index 883300a..9e80bf1 100644
--- a/server/api/mailMessage/mailMessage.attributes.js
+++ b/server/api/mailMessage/mailMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.controller.js b/server/api/mailMessage/mailMessage.controller.js
index a48c81e..3a3774f 100644
--- a/server/api/mailMessage/mailMessage.controller.js
+++ b/server/api/mailMessage/mailMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.events.js b/server/api/mailMessage/mailMessage.events.js
index a9e69ec..60347db 100644
--- a/server/api/mailMessage/mailMessage.events.js
+++ b/server/api/mailMessage/mailMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.model.js b/server/api/mailMessage/mailMessage.model.js
index 84be3d3..c321165 100644
--- a/server/api/mailMessage/mailMessage.model.js
+++ b/server/api/mailMessage/mailMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.rpc.js b/server/api/mailMessage/mailMessage.rpc.js
index ec3eb8f..15ef5b4 100644
--- a/server/api/mailMessage/mailMessage.rpc.js
+++ b/server/api/mailMessage/mailMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.socket.js b/server/api/mailMessage/mailMessage.socket.js
index 6d461f0..d058f5b 100644
--- a/server/api/mailMessage/mailMessage.socket.js
+++ b/server/api/mailMessage/mailMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/index.js b/server/api/mailQueue/index.js
index a23cce1..27da3f5 100644
--- a/server/api/mailQueue/index.js
+++ b/server/api/mailQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.attributes.js b/server/api/mailQueue/mailQueue.attributes.js
index 84018ec..88997d8 100644
--- a/server/api/mailQueue/mailQueue.attributes.js
+++ b/server/api/mailQueue/mailQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.controller.js b/server/api/mailQueue/mailQueue.controller.js
index 3bbb16f..65fc95b 100644
--- a/server/api/mailQueue/mailQueue.controller.js
+++ b/server/api/mailQueue/mailQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.events.js b/server/api/mailQueue/mailQueue.events.js
index 1d31da1..176cc29 100644
--- a/server/api/mailQueue/mailQueue.events.js
+++ b/server/api/mailQueue/mailQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.model.js b/server/api/mailQueue/mailQueue.model.js
index e2067ed..c367edb 100644
--- a/server/api/mailQueue/mailQueue.model.js
+++ b/server/api/mailQueue/mailQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.rpc.js b/server/api/mailQueue/mailQueue.rpc.js
index 4da5ee1..6e5f600 100644
--- a/server/api/mailQueue/mailQueue.rpc.js
+++ b/server/api/mailQueue/mailQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.socket.js b/server/api/mailQueue/mailQueue.socket.js
index 06f9ff7..4bafac7 100644
--- a/server/api/mailQueue/mailQueue.socket.js
+++ b/server/api/mailQueue/mailQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/index.js b/server/api/mailQueueReport/index.js
index 585b2b9..697406c 100644
--- a/server/api/mailQueueReport/index.js
+++ b/server/api/mailQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.attributes.js b/server/api/mailQueueReport/mailQueueReport.attributes.js
index e612ec1..ba2e185 100644
--- a/server/api/mailQueueReport/mailQueueReport.attributes.js
+++ b/server/api/mailQueueReport/mailQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.controller.js b/server/api/mailQueueReport/mailQueueReport.controller.js
index b7d7b0c..cea2c4c 100644
--- a/server/api/mailQueueReport/mailQueueReport.controller.js
+++ b/server/api/mailQueueReport/mailQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.model.js b/server/api/mailQueueReport/mailQueueReport.model.js
index 02fa307..4aac3d5 100644
--- a/server/api/mailQueueReport/mailQueueReport.model.js
+++ b/server/api/mailQueueReport/mailQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.rpc.js b/server/api/mailQueueReport/mailQueueReport.rpc.js
index f8c263b..8661d62 100644
--- a/server/api/mailQueueReport/mailQueueReport.rpc.js
+++ b/server/api/mailQueueReport/mailQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/index.js b/server/api/mailServerIn/index.js
index 3c39c87..abb3d2a 100644
--- a/server/api/mailServerIn/index.js
+++ b/server/api/mailServerIn/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.attributes.js b/server/api/mailServerIn/mailServerIn.attributes.js
index dc24aaf..14118b0 100644
--- a/server/api/mailServerIn/mailServerIn.attributes.js
+++ b/server/api/mailServerIn/mailServerIn.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.model.js b/server/api/mailServerIn/mailServerIn.model.js
index c9db966..f7d862d 100644
--- a/server/api/mailServerIn/mailServerIn.model.js
+++ b/server/api/mailServerIn/mailServerIn.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.rpc.js b/server/api/mailServerIn/mailServerIn.rpc.js
index 2737252..bb7199a 100644
--- a/server/api/mailServerIn/mailServerIn.rpc.js
+++ b/server/api/mailServerIn/mailServerIn.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/index.js b/server/api/mailServerOut/index.js
index 4e62749..126ca0c 100644
--- a/server/api/mailServerOut/index.js
+++ b/server/api/mailServerOut/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.attributes.js b/server/api/mailServerOut/mailServerOut.attributes.js
index e8941e7..aad8bca 100644
--- a/server/api/mailServerOut/mailServerOut.attributes.js
+++ b/server/api/mailServerOut/mailServerOut.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.controller.js b/server/api/mailServerOut/mailServerOut.controller.js
index f253769..9c53b19 100644
--- a/server/api/mailServerOut/mailServerOut.controller.js
+++ b/server/api/mailServerOut/mailServerOut.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.model.js b/server/api/mailServerOut/mailServerOut.model.js
index ba4c428..a5d5ce2 100644
--- a/server/api/mailServerOut/mailServerOut.model.js
+++ b/server/api/mailServerOut/mailServerOut.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.rpc.js b/server/api/mailServerOut/mailServerOut.rpc.js
index f36fbb6..c8222bc 100644
--- a/server/api/mailServerOut/mailServerOut.rpc.js
+++ b/server/api/mailServerOut/mailServerOut.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/index.js b/server/api/mailSubstatus/index.js
index eb44fc0..1646a3c 100644
--- a/server/api/mailSubstatus/index.js
+++ b/server/api/mailSubstatus/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.attributes.js b/server/api/mailSubstatus/mailSubstatus.attributes.js
index 8db49a5..28dd51d 100644
--- a/server/api/mailSubstatus/mailSubstatus.attributes.js
+++ b/server/api/mailSubstatus/mailSubstatus.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.controller.js b/server/api/mailSubstatus/mailSubstatus.controller.js
index 98bdac7..7fe93dd 100644
--- a/server/api/mailSubstatus/mailSubstatus.controller.js
+++ b/server/api/mailSubstatus/mailSubstatus.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.model.js b/server/api/mailSubstatus/mailSubstatus.model.js
index 1b34e1f..8f57919 100644
--- a/server/api/mailSubstatus/mailSubstatus.model.js
+++ b/server/api/mailSubstatus/mailSubstatus.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.rpc.js b/server/api/mailSubstatus/mailSubstatus.rpc.js
index 1968cce..10c229a 100644
--- a/server/api/mailSubstatus/mailSubstatus.rpc.js
+++ b/server/api/mailSubstatus/mailSubstatus.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/index.js b/server/api/mailTransferReport/index.js
index cd0f72d..fc57556 100644
--- a/server/api/mailTransferReport/index.js
+++ b/server/api/mailTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.attributes.js b/server/api/mailTransferReport/mailTransferReport.attributes.js
index 0a8bd01..d24d303 100644
--- a/server/api/mailTransferReport/mailTransferReport.attributes.js
+++ b/server/api/mailTransferReport/mailTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.controller.js b/server/api/mailTransferReport/mailTransferReport.controller.js
index e5c98fc..34d0335 100644
--- a/server/api/mailTransferReport/mailTransferReport.controller.js
+++ b/server/api/mailTransferReport/mailTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.model.js b/server/api/mailTransferReport/mailTransferReport.model.js
index 62ea824..eea5cec 100644
--- a/server/api/mailTransferReport/mailTransferReport.model.js
+++ b/server/api/mailTransferReport/mailTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.rpc.js b/server/api/mailTransferReport/mailTransferReport.rpc.js
index 11cd38c..abe9956 100644
--- a/server/api/mailTransferReport/mailTransferReport.rpc.js
+++ b/server/api/mailTransferReport/mailTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/index.js b/server/api/memberReport/index.js
index dbd21aa..356396e 100644
--- a/server/api/memberReport/index.js
+++ b/server/api/memberReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.attributes.js b/server/api/memberReport/memberReport.attributes.js
index a1fdfa4..7e0bf7a 100644
--- a/server/api/memberReport/memberReport.attributes.js
+++ b/server/api/memberReport/memberReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.controller.js b/server/api/memberReport/memberReport.controller.js
index 2556e53..f95d0ba 100644
--- a/server/api/memberReport/memberReport.controller.js
+++ b/server/api/memberReport/memberReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.model.js b/server/api/memberReport/memberReport.model.js
index cbed998..e4caf30 100644
--- a/server/api/memberReport/memberReport.model.js
+++ b/server/api/memberReport/memberReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.rpc.js b/server/api/memberReport/memberReport.rpc.js
index 2cc6141..8fd9d9e 100644
--- a/server/api/memberReport/memberReport.rpc.js
+++ b/server/api/memberReport/memberReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/index.js b/server/api/migration/index.js
index 5218304..a563701 100644
--- a/server/api/migration/index.js
+++ b/server/api/migration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.attributes.js b/server/api/migration/migration.attributes.js
index 6994788..9248879 100644
--- a/server/api/migration/migration.attributes.js
+++ b/server/api/migration/migration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x4c47=['sequelize','exports','STRING','version'];(function(_0x167cc1,_0x56ef5a){var _0x10bc4b=function(_0xd6a255){while(--_0xd6a255){_0x167cc1['push'](_0x167cc1['shift']());}};_0x10bc4b(++_0x56ef5a);}(_0x4c47,0xe4));var _0x74c4=function(_0x49d64d,_0x1aeabb){_0x49d64d=_0x49d64d-0x0;var _0x4c4800=_0x4c47[_0x49d64d];return _0x4c4800;};'use strict';var Sequelize=require(_0x74c4('0x0'));module[_0x74c4('0x1')]={'version':{'type':Sequelize[_0x74c4('0x2')],'unique':_0x74c4('0x3')}};
\ No newline at end of file
+var _0x6eb9=['sequelize','STRING'];(function(_0x31044e,_0x1da12d){var _0x3fd475=function(_0x1dbd45){while(--_0x1dbd45){_0x31044e['push'](_0x31044e['shift']());}};_0x3fd475(++_0x1da12d);}(_0x6eb9,0x116));var _0x96eb=function(_0x11343c,_0x12857d){_0x11343c=_0x11343c-0x0;var _0x5603b2=_0x6eb9[_0x11343c];return _0x5603b2;};'use strict';var Sequelize=require(_0x96eb('0x0'));module['exports']={'version':{'type':Sequelize[_0x96eb('0x1')],'unique':'version'}};
\ No newline at end of file
diff --git a/server/api/migration/migration.controller.js b/server/api/migration/migration.controller.js
index 31573ab..aa16634 100644
--- a/server/api/migration/migration.controller.js
+++ b/server/api/migration/migration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.model.js b/server/api/migration/migration.model.js
index 5ec4354..6cfe76a 100644
--- a/server/api/migration/migration.model.js
+++ b/server/api/migration/migration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.rpc.js b/server/api/migration/migration.rpc.js
index db1ab19..0829636 100644
--- a/server/api/migration/migration.rpc.js
+++ b/server/api/migration/migration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/index.js b/server/api/network/index.js
index e1fc7ee..7ef1010 100644
--- a/server/api/network/index.js
+++ b/server/api/network/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.attributes.js b/server/api/network/network.attributes.js
index 88a5f92..3e1f145 100644
--- a/server/api/network/network.attributes.js
+++ b/server/api/network/network.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.controller.js b/server/api/network/network.controller.js
index 12d51de..23c80c2 100644
--- a/server/api/network/network.controller.js
+++ b/server/api/network/network.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.model.js b/server/api/network/network.model.js
index 70d6c7e..f0b9aed 100644
--- a/server/api/network/network.model.js
+++ b/server/api/network/network.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.rpc.js b/server/api/network/network.rpc.js
index 98135f8..f0a67bb 100644
--- a/server/api/network/network.rpc.js
+++ b/server/api/network/network.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/index.js b/server/api/notification/index.js
new file mode 100644
index 0000000..47f269a
--- /dev/null
+++ b/server/api/notification/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/notification/notification.attributes.js b/server/api/notification/notification.attributes.js
new file mode 100644
index 0000000..fbc7523
--- /dev/null
+++ b/server/api/notification/notification.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/notification/notification.controller.js b/server/api/notification/notification.controller.js
new file mode 100644
index 0000000..03afbf9
--- /dev/null
+++ b/server/api/notification/notification.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/notification/notification.events.js b/server/api/notification/notification.events.js
new file mode 100644
index 0000000..4d5d7e7
--- /dev/null
+++ b/server/api/notification/notification.events.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/notification/notification.model.js b/server/api/notification/notification.model.js
new file mode 100644
index 0000000..3174a22
--- /dev/null
+++ b/server/api/notification/notification.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/notification/notification.rpc.js b/server/api/notification/notification.rpc.js
new file mode 100644
index 0000000..436fcfa
--- /dev/null
+++ b/server/api/notification/notification.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/notification/notification.socket.js b/server/api/notification/notification.socket.js
new file mode 100644
index 0000000..e76d8f5
--- /dev/null
+++ b/server/api/notification/notification.socket.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/openchannelAccount/index.js b/server/api/openchannelAccount/index.js
index 2d75478..7fee47b 100644
--- a/server/api/openchannelAccount/index.js
+++ b/server/api/openchannelAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.attributes.js b/server/api/openchannelAccount/openchannelAccount.attributes.js
index b20f451..ba1cd57 100644
--- a/server/api/openchannelAccount/openchannelAccount.attributes.js
+++ b/server/api/openchannelAccount/openchannelAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.controller.js b/server/api/openchannelAccount/openchannelAccount.controller.js
index c573d5d..4da938c 100644
--- a/server/api/openchannelAccount/openchannelAccount.controller.js
+++ b/server/api/openchannelAccount/openchannelAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.events.js b/server/api/openchannelAccount/openchannelAccount.events.js
index ba7a3a2..d6ae135 100644
--- a/server/api/openchannelAccount/openchannelAccount.events.js
+++ b/server/api/openchannelAccount/openchannelAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.model.js b/server/api/openchannelAccount/openchannelAccount.model.js
index 33ae6d2..da7fbed 100644
--- a/server/api/openchannelAccount/openchannelAccount.model.js
+++ b/server/api/openchannelAccount/openchannelAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.rpc.js b/server/api/openchannelAccount/openchannelAccount.rpc.js
index 05dab8e..8fce6b0 100644
--- a/server/api/openchannelAccount/openchannelAccount.rpc.js
+++ b/server/api/openchannelAccount/openchannelAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.socket.js b/server/api/openchannelAccount/openchannelAccount.socket.js
index b981f19..186e6e1 100644
--- a/server/api/openchannelAccount/openchannelAccount.socket.js
+++ b/server/api/openchannelAccount/openchannelAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/index.js b/server/api/openchannelApplication/index.js
index a50880c..3b56dbc 100644
--- a/server/api/openchannelApplication/index.js
+++ b/server/api/openchannelApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.attributes.js b/server/api/openchannelApplication/openchannelApplication.attributes.js
index efbdde8..19ffe93 100644
--- a/server/api/openchannelApplication/openchannelApplication.attributes.js
+++ b/server/api/openchannelApplication/openchannelApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.controller.js b/server/api/openchannelApplication/openchannelApplication.controller.js
index 7daf615..aecf209 100644
--- a/server/api/openchannelApplication/openchannelApplication.controller.js
+++ b/server/api/openchannelApplication/openchannelApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.model.js b/server/api/openchannelApplication/openchannelApplication.model.js
index 756a4fc..f9e550b 100644
--- a/server/api/openchannelApplication/openchannelApplication.model.js
+++ b/server/api/openchannelApplication/openchannelApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.rpc.js b/server/api/openchannelApplication/openchannelApplication.rpc.js
index 20502e0..b44a994 100644
--- a/server/api/openchannelApplication/openchannelApplication.rpc.js
+++ b/server/api/openchannelApplication/openchannelApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/index.js b/server/api/openchannelInteraction/index.js
index c5c8fe8..8c7e118 100644
--- a/server/api/openchannelInteraction/index.js
+++ b/server/api/openchannelInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.attributes.js b/server/api/openchannelInteraction/openchannelInteraction.attributes.js
index d5523ce..bc8f565 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.attributes.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.controller.js b/server/api/openchannelInteraction/openchannelInteraction.controller.js
index 085afbf..fd2811c 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.controller.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.events.js b/server/api/openchannelInteraction/openchannelInteraction.events.js
index 31b70a7..9de67dc 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.events.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.model.js b/server/api/openchannelInteraction/openchannelInteraction.model.js
index dbc6483..a32e6f9 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.model.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.rpc.js b/server/api/openchannelInteraction/openchannelInteraction.rpc.js
index 3bda540..30a849b 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.rpc.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.socket.js b/server/api/openchannelInteraction/openchannelInteraction.socket.js
index b16563a..7d6e237 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.socket.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/index.js b/server/api/openchannelMessage/index.js
index 93f4781..75ab120 100644
--- a/server/api/openchannelMessage/index.js
+++ b/server/api/openchannelMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.attributes.js b/server/api/openchannelMessage/openchannelMessage.attributes.js
index 55e4be5..456ac84 100644
--- a/server/api/openchannelMessage/openchannelMessage.attributes.js
+++ b/server/api/openchannelMessage/openchannelMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.controller.js b/server/api/openchannelMessage/openchannelMessage.controller.js
index 8e1fd61..839913e 100644
--- a/server/api/openchannelMessage/openchannelMessage.controller.js
+++ b/server/api/openchannelMessage/openchannelMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.events.js b/server/api/openchannelMessage/openchannelMessage.events.js
index d992578..1564e5e 100644
--- a/server/api/openchannelMessage/openchannelMessage.events.js
+++ b/server/api/openchannelMessage/openchannelMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.model.js b/server/api/openchannelMessage/openchannelMessage.model.js
index b497c77..65918b2 100644
--- a/server/api/openchannelMessage/openchannelMessage.model.js
+++ b/server/api/openchannelMessage/openchannelMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.rpc.js b/server/api/openchannelMessage/openchannelMessage.rpc.js
index 7f0f508..f7ac61a 100644
--- a/server/api/openchannelMessage/openchannelMessage.rpc.js
+++ b/server/api/openchannelMessage/openchannelMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.socket.js b/server/api/openchannelMessage/openchannelMessage.socket.js
index df5eb82..846cfea 100644
--- a/server/api/openchannelMessage/openchannelMessage.socket.js
+++ b/server/api/openchannelMessage/openchannelMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/index.js b/server/api/openchannelQueue/index.js
index 89f0109..c26d506 100644
--- a/server/api/openchannelQueue/index.js
+++ b/server/api/openchannelQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.attributes.js b/server/api/openchannelQueue/openchannelQueue.attributes.js
index f007a63..af34a4e 100644
--- a/server/api/openchannelQueue/openchannelQueue.attributes.js
+++ b/server/api/openchannelQueue/openchannelQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.controller.js b/server/api/openchannelQueue/openchannelQueue.controller.js
index 82b1a7f..e013368 100644
--- a/server/api/openchannelQueue/openchannelQueue.controller.js
+++ b/server/api/openchannelQueue/openchannelQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.events.js b/server/api/openchannelQueue/openchannelQueue.events.js
index cf1d081..4da3b1f 100644
--- a/server/api/openchannelQueue/openchannelQueue.events.js
+++ b/server/api/openchannelQueue/openchannelQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.model.js b/server/api/openchannelQueue/openchannelQueue.model.js
index 30381ef..2842cba 100644
--- a/server/api/openchannelQueue/openchannelQueue.model.js
+++ b/server/api/openchannelQueue/openchannelQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.rpc.js b/server/api/openchannelQueue/openchannelQueue.rpc.js
index 6c7c852..f37752e 100644
--- a/server/api/openchannelQueue/openchannelQueue.rpc.js
+++ b/server/api/openchannelQueue/openchannelQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.socket.js b/server/api/openchannelQueue/openchannelQueue.socket.js
index 11277ab..dad88f5 100644
--- a/server/api/openchannelQueue/openchannelQueue.socket.js
+++ b/server/api/openchannelQueue/openchannelQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/index.js b/server/api/openchannelQueueReport/index.js
index 4fcad18..78293ee 100644
--- a/server/api/openchannelQueueReport/index.js
+++ b/server/api/openchannelQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js b/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
index 766ec06..9953c04 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.controller.js b/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
index 2ef924c..6adeec7 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.model.js b/server/api/openchannelQueueReport/openchannelQueueReport.model.js
index c0279bb..ab8ae32 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.model.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js b/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
index 06d1c3d..679332b 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/index.js b/server/api/openchannelTransferReport/index.js
index 1481389..013890d 100644
--- a/server/api/openchannelTransferReport/index.js
+++ b/server/api/openchannelTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js b/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
index 9f17fbb..f24249b 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.controller.js b/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
index 0d91a28..4330d7d 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.model.js b/server/api/openchannelTransferReport/openchannelTransferReport.model.js
index 2d8135e..a6efda4 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.model.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js b/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js
index 9ede1dc..61264de 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/index.js b/server/api/pause/index.js
index ece8fef..75ced9b 100644
--- a/server/api/pause/index.js
+++ b/server/api/pause/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.attributes.js b/server/api/pause/pause.attributes.js
index abd1e93..43eb065 100644
--- a/server/api/pause/pause.attributes.js
+++ b/server/api/pause/pause.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.controller.js b/server/api/pause/pause.controller.js
index ced5edd..ad2d383 100644
--- a/server/api/pause/pause.controller.js
+++ b/server/api/pause/pause.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.model.js b/server/api/pause/pause.model.js
index cc38c1f..284dc24 100644
--- a/server/api/pause/pause.model.js
+++ b/server/api/pause/pause.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.rpc.js b/server/api/pause/pause.rpc.js
index 4dd08ba..27346f9 100644
--- a/server/api/pause/pause.rpc.js
+++ b/server/api/pause/pause.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/index.js b/server/api/plugin/index.js
index f8a9922..62dcdc7 100644
--- a/server/api/plugin/index.js
+++ b/server/api/plugin/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.attributes.js b/server/api/plugin/plugin.attributes.js
index 29ec50b..b7d1bf2 100644
--- a/server/api/plugin/plugin.attributes.js
+++ b/server/api/plugin/plugin.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.controller.js b/server/api/plugin/plugin.controller.js
index e4c76d8..230aeb0 100644
--- a/server/api/plugin/plugin.controller.js
+++ b/server/api/plugin/plugin.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.events.js b/server/api/plugin/plugin.events.js
index 756f81f..ada8c33 100644
--- a/server/api/plugin/plugin.events.js
+++ b/server/api/plugin/plugin.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.model.js b/server/api/plugin/plugin.model.js
index 54a7291..58b47d0 100644
--- a/server/api/plugin/plugin.model.js
+++ b/server/api/plugin/plugin.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.rpc.js b/server/api/plugin/plugin.rpc.js
index 2c1c016..d69bb8f 100644
--- a/server/api/plugin/plugin.rpc.js
+++ b/server/api/plugin/plugin.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.socket.js b/server/api/plugin/plugin.socket.js
index 6c3d7d0..ddabf80 100644
--- a/server/api/plugin/plugin.socket.js
+++ b/server/api/plugin/plugin.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pm2/index.js b/server/api/pm2/index.js
index 60d7deb..8e37221 100644
--- a/server/api/pm2/index.js
+++ b/server/api/pm2/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pm2/pm2.controller.js b/server/api/pm2/pm2.controller.js
index bc3bd12..6ee2850 100644
--- a/server/api/pm2/pm2.controller.js
+++ b/server/api/pm2/pm2.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/index.js b/server/api/reportAgentPreview/index.js
index 3d8f40c..b7a63e7 100644
--- a/server/api/reportAgentPreview/index.js
+++ b/server/api/reportAgentPreview/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.attributes.js b/server/api/reportAgentPreview/reportAgentPreview.attributes.js
index 7a3ebae..33a319e 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.attributes.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.model.js b/server/api/reportAgentPreview/reportAgentPreview.model.js
index d8300bd..c8d107f 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.model.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.rpc.js b/server/api/reportAgentPreview/reportAgentPreview.rpc.js
index ba9ca3b..3073728 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.rpc.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/rpc/index.js b/server/api/rpc/index.js
index b4bec80..be71f3d 100644
--- a/server/api/rpc/index.js
+++ b/server/api/rpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/rpc/rpc.controller.js b/server/api/rpc/rpc.controller.js
index 35d2864..d4b7658 100644
--- a/server/api/rpc/rpc.controller.js
+++ b/server/api/rpc/rpc.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/index.js b/server/api/schedule/index.js
index 05405a8..e7aba99 100644
--- a/server/api/schedule/index.js
+++ b/server/api/schedule/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.attributes.js b/server/api/schedule/schedule.attributes.js
index e74a156..a279ff7 100644
--- a/server/api/schedule/schedule.attributes.js
+++ b/server/api/schedule/schedule.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.controller.js b/server/api/schedule/schedule.controller.js
index 63a8e39..a6c62ed 100644
--- a/server/api/schedule/schedule.controller.js
+++ b/server/api/schedule/schedule.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.model.js b/server/api/schedule/schedule.model.js
index ed7485a..3373576 100644
--- a/server/api/schedule/schedule.model.js
+++ b/server/api/schedule/schedule.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.rpc.js b/server/api/schedule/schedule.rpc.js
index 26e92e0..cb4c4f0 100644
--- a/server/api/schedule/schedule.rpc.js
+++ b/server/api/schedule/schedule.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/index.js b/server/api/screenRecording/index.js
index 02f487a..39a47bd 100644
--- a/server/api/screenRecording/index.js
+++ b/server/api/screenRecording/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.attributes.js b/server/api/screenRecording/screenRecording.attributes.js
index 07241bc..0580f1e 100644
--- a/server/api/screenRecording/screenRecording.attributes.js
+++ b/server/api/screenRecording/screenRecording.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.controller.js b/server/api/screenRecording/screenRecording.controller.js
index c8c4f93..0bb1883 100644
--- a/server/api/screenRecording/screenRecording.controller.js
+++ b/server/api/screenRecording/screenRecording.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.model.js b/server/api/screenRecording/screenRecording.model.js
index 541255d..af361ed 100644
--- a/server/api/screenRecording/screenRecording.model.js
+++ b/server/api/screenRecording/screenRecording.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.rpc.js b/server/api/screenRecording/screenRecording.rpc.js
index 48d5c24..dc626f6 100644
--- a/server/api/screenRecording/screenRecording.rpc.js
+++ b/server/api/screenRecording/screenRecording.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/index.js b/server/api/setting/index.js
index 5ee1133..a54466f 100644
--- a/server/api/setting/index.js
+++ b/server/api/setting/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.attributes.js b/server/api/setting/setting.attributes.js
index e2b3fa5..d4275fb 100644
--- a/server/api/setting/setting.attributes.js
+++ b/server/api/setting/setting.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.controller.js b/server/api/setting/setting.controller.js
index 8266441..3678881 100644
--- a/server/api/setting/setting.controller.js
+++ b/server/api/setting/setting.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.model.js b/server/api/setting/setting.model.js
index b4b411a..61274bc 100644
--- a/server/api/setting/setting.model.js
+++ b/server/api/setting/setting.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.rpc.js b/server/api/setting/setting.rpc.js
index 4e3c9c9..9a4c98a 100644
--- a/server/api/setting/setting.rpc.js
+++ b/server/api/setting/setting.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/index.js b/server/api/smsAccount/index.js
index 3950136..8944d89 100644
--- a/server/api/smsAccount/index.js
+++ b/server/api/smsAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.attributes.js b/server/api/smsAccount/smsAccount.attributes.js
index 709090a..b0d01be 100644
--- a/server/api/smsAccount/smsAccount.attributes.js
+++ b/server/api/smsAccount/smsAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.controller.js b/server/api/smsAccount/smsAccount.controller.js
index 35d4052..42462d6 100644
--- a/server/api/smsAccount/smsAccount.controller.js
+++ b/server/api/smsAccount/smsAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.events.js b/server/api/smsAccount/smsAccount.events.js
index acee217..f662092 100644
--- a/server/api/smsAccount/smsAccount.events.js
+++ b/server/api/smsAccount/smsAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.model.js b/server/api/smsAccount/smsAccount.model.js
index 39e34c2..b522763 100644
--- a/server/api/smsAccount/smsAccount.model.js
+++ b/server/api/smsAccount/smsAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.rpc.js b/server/api/smsAccount/smsAccount.rpc.js
index c29efa6..b487203 100644
--- a/server/api/smsAccount/smsAccount.rpc.js
+++ b/server/api/smsAccount/smsAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.socket.js b/server/api/smsAccount/smsAccount.socket.js
index 79fa4a6..0a8bd24 100644
--- a/server/api/smsAccount/smsAccount.socket.js
+++ b/server/api/smsAccount/smsAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/index.js b/server/api/smsApplication/index.js
index 7c71d8c..3cdbcc1 100644
--- a/server/api/smsApplication/index.js
+++ b/server/api/smsApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.attributes.js b/server/api/smsApplication/smsApplication.attributes.js
index b52aca6..6fc6e97 100644
--- a/server/api/smsApplication/smsApplication.attributes.js
+++ b/server/api/smsApplication/smsApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.controller.js b/server/api/smsApplication/smsApplication.controller.js
index bdfeb51..045e588 100644
--- a/server/api/smsApplication/smsApplication.controller.js
+++ b/server/api/smsApplication/smsApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.model.js b/server/api/smsApplication/smsApplication.model.js
index b67a4d9..8a5a071 100644
--- a/server/api/smsApplication/smsApplication.model.js
+++ b/server/api/smsApplication/smsApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.rpc.js b/server/api/smsApplication/smsApplication.rpc.js
index 4627178..2112cfa 100644
--- a/server/api/smsApplication/smsApplication.rpc.js
+++ b/server/api/smsApplication/smsApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/index.js b/server/api/smsInteraction/index.js
index c75cb78..3072eb4 100644
--- a/server/api/smsInteraction/index.js
+++ b/server/api/smsInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.attributes.js b/server/api/smsInteraction/smsInteraction.attributes.js
index 09cd60a..82779b2 100644
--- a/server/api/smsInteraction/smsInteraction.attributes.js
+++ b/server/api/smsInteraction/smsInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.controller.js b/server/api/smsInteraction/smsInteraction.controller.js
index 641922c..fadf8b6 100644
--- a/server/api/smsInteraction/smsInteraction.controller.js
+++ b/server/api/smsInteraction/smsInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.events.js b/server/api/smsInteraction/smsInteraction.events.js
index 2d24706..573da37 100644
--- a/server/api/smsInteraction/smsInteraction.events.js
+++ b/server/api/smsInteraction/smsInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.model.js b/server/api/smsInteraction/smsInteraction.model.js
index 3364bbf..2f8db59 100644
--- a/server/api/smsInteraction/smsInteraction.model.js
+++ b/server/api/smsInteraction/smsInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.rpc.js b/server/api/smsInteraction/smsInteraction.rpc.js
index 1542fac..0a98c70 100644
--- a/server/api/smsInteraction/smsInteraction.rpc.js
+++ b/server/api/smsInteraction/smsInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.socket.js b/server/api/smsInteraction/smsInteraction.socket.js
index b1abdbe..362c67d 100644
--- a/server/api/smsInteraction/smsInteraction.socket.js
+++ b/server/api/smsInteraction/smsInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/index.js b/server/api/smsMessage/index.js
index 47ff81b..347cd08 100644
--- a/server/api/smsMessage/index.js
+++ b/server/api/smsMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.attributes.js b/server/api/smsMessage/smsMessage.attributes.js
index 6e40ef0..91491a5 100644
--- a/server/api/smsMessage/smsMessage.attributes.js
+++ b/server/api/smsMessage/smsMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.controller.js b/server/api/smsMessage/smsMessage.controller.js
index 5742ca8..0252162 100644
--- a/server/api/smsMessage/smsMessage.controller.js
+++ b/server/api/smsMessage/smsMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.events.js b/server/api/smsMessage/smsMessage.events.js
index 46325b7..eeeeb7a 100644
--- a/server/api/smsMessage/smsMessage.events.js
+++ b/server/api/smsMessage/smsMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.model.js b/server/api/smsMessage/smsMessage.model.js
index 0c233ea..4ff735e 100644
--- a/server/api/smsMessage/smsMessage.model.js
+++ b/server/api/smsMessage/smsMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.rpc.js b/server/api/smsMessage/smsMessage.rpc.js
index 6d24fac..2aab480 100644
--- a/server/api/smsMessage/smsMessage.rpc.js
+++ b/server/api/smsMessage/smsMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.socket.js b/server/api/smsMessage/smsMessage.socket.js
index 003d21a..9d1e751 100644
--- a/server/api/smsMessage/smsMessage.socket.js
+++ b/server/api/smsMessage/smsMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/index.js b/server/api/smsQueue/index.js
index 44e8823..570b0cc 100644
--- a/server/api/smsQueue/index.js
+++ b/server/api/smsQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.attributes.js b/server/api/smsQueue/smsQueue.attributes.js
index e845935..b15727b 100644
--- a/server/api/smsQueue/smsQueue.attributes.js
+++ b/server/api/smsQueue/smsQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.controller.js b/server/api/smsQueue/smsQueue.controller.js
index 076bc05..7486072 100644
--- a/server/api/smsQueue/smsQueue.controller.js
+++ b/server/api/smsQueue/smsQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.events.js b/server/api/smsQueue/smsQueue.events.js
index 3ae7a37..a80df5b 100644
--- a/server/api/smsQueue/smsQueue.events.js
+++ b/server/api/smsQueue/smsQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.model.js b/server/api/smsQueue/smsQueue.model.js
index f7a2691..139f59d 100644
--- a/server/api/smsQueue/smsQueue.model.js
+++ b/server/api/smsQueue/smsQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.rpc.js b/server/api/smsQueue/smsQueue.rpc.js
index 64d1ad8..f2f4566 100644
--- a/server/api/smsQueue/smsQueue.rpc.js
+++ b/server/api/smsQueue/smsQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.socket.js b/server/api/smsQueue/smsQueue.socket.js
index 1022f20..86b7e7e 100644
--- a/server/api/smsQueue/smsQueue.socket.js
+++ b/server/api/smsQueue/smsQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/index.js b/server/api/smsQueueReport/index.js
index 8d5e3ce..bdadae1 100644
--- a/server/api/smsQueueReport/index.js
+++ b/server/api/smsQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.attributes.js b/server/api/smsQueueReport/smsQueueReport.attributes.js
index a3f48bd..318fa9f 100644
--- a/server/api/smsQueueReport/smsQueueReport.attributes.js
+++ b/server/api/smsQueueReport/smsQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.controller.js b/server/api/smsQueueReport/smsQueueReport.controller.js
index 85dc914..9d5ed1d 100644
--- a/server/api/smsQueueReport/smsQueueReport.controller.js
+++ b/server/api/smsQueueReport/smsQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.model.js b/server/api/smsQueueReport/smsQueueReport.model.js
index 45b2849..845fff5 100644
--- a/server/api/smsQueueReport/smsQueueReport.model.js
+++ b/server/api/smsQueueReport/smsQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.rpc.js b/server/api/smsQueueReport/smsQueueReport.rpc.js
index e8e7d03..ba208ec 100644
--- a/server/api/smsQueueReport/smsQueueReport.rpc.js
+++ b/server/api/smsQueueReport/smsQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/index.js b/server/api/smsTransferReport/index.js
index 7c96288..98c4813 100644
--- a/server/api/smsTransferReport/index.js
+++ b/server/api/smsTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.attributes.js b/server/api/smsTransferReport/smsTransferReport.attributes.js
index 138b2b5..13e4789 100644
--- a/server/api/smsTransferReport/smsTransferReport.attributes.js
+++ b/server/api/smsTransferReport/smsTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.controller.js b/server/api/smsTransferReport/smsTransferReport.controller.js
index 7ee84f0..39978ec 100644
--- a/server/api/smsTransferReport/smsTransferReport.controller.js
+++ b/server/api/smsTransferReport/smsTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.model.js b/server/api/smsTransferReport/smsTransferReport.model.js
index fb90e31..64d8948 100644
--- a/server/api/smsTransferReport/smsTransferReport.model.js
+++ b/server/api/smsTransferReport/smsTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.rpc.js b/server/api/smsTransferReport/smsTransferReport.rpc.js
index 1a22460..ed3ceea 100644
--- a/server/api/smsTransferReport/smsTransferReport.rpc.js
+++ b/server/api/smsTransferReport/smsTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/index.js b/server/api/sound/index.js
index 5b27636..b264e20 100644
--- a/server/api/sound/index.js
+++ b/server/api/sound/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.attributes.js b/server/api/sound/sound.attributes.js
index 6d92505..f742cec 100644
--- a/server/api/sound/sound.attributes.js
+++ b/server/api/sound/sound.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.controller.js b/server/api/sound/sound.controller.js
index cb193d4..e0a883c 100644
--- a/server/api/sound/sound.controller.js
+++ b/server/api/sound/sound.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.model.js b/server/api/sound/sound.model.js
index e8e2e24..5c61dd9 100644
--- a/server/api/sound/sound.model.js
+++ b/server/api/sound/sound.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.rpc.js b/server/api/sound/sound.rpc.js
index 0dbc82f..59f85e4 100644
--- a/server/api/sound/sound.rpc.js
+++ b/server/api/sound/sound.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/index.js b/server/api/squareMessage/index.js
index 594f34b..d126b8f 100644
--- a/server/api/squareMessage/index.js
+++ b/server/api/squareMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.attributes.js b/server/api/squareMessage/squareMessage.attributes.js
index 4ca4931..7958032 100644
--- a/server/api/squareMessage/squareMessage.attributes.js
+++ b/server/api/squareMessage/squareMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.controller.js b/server/api/squareMessage/squareMessage.controller.js
index 74a0301..a841b2e 100644
--- a/server/api/squareMessage/squareMessage.controller.js
+++ b/server/api/squareMessage/squareMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.model.js b/server/api/squareMessage/squareMessage.model.js
index cf44345..93c56d3 100644
--- a/server/api/squareMessage/squareMessage.model.js
+++ b/server/api/squareMessage/squareMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.rpc.js b/server/api/squareMessage/squareMessage.rpc.js
index c57a029..93de353 100644
--- a/server/api/squareMessage/squareMessage.rpc.js
+++ b/server/api/squareMessage/squareMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/index.js b/server/api/squareOdbc/index.js
index e1f2833..39b5705 100644
--- a/server/api/squareOdbc/index.js
+++ b/server/api/squareOdbc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.attributes.js b/server/api/squareOdbc/squareOdbc.attributes.js
index 83d3529..09412aa 100644
--- a/server/api/squareOdbc/squareOdbc.attributes.js
+++ b/server/api/squareOdbc/squareOdbc.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.controller.js b/server/api/squareOdbc/squareOdbc.controller.js
index 9dffc4d..35b7697 100644
--- a/server/api/squareOdbc/squareOdbc.controller.js
+++ b/server/api/squareOdbc/squareOdbc.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.model.js b/server/api/squareOdbc/squareOdbc.model.js
index 6a79d5a..c4dbaf2 100644
--- a/server/api/squareOdbc/squareOdbc.model.js
+++ b/server/api/squareOdbc/squareOdbc.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.rpc.js b/server/api/squareOdbc/squareOdbc.rpc.js
index 5677ea7..b33e2fd 100644
--- a/server/api/squareOdbc/squareOdbc.rpc.js
+++ b/server/api/squareOdbc/squareOdbc.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/index.js b/server/api/squareProject/index.js
index 16c494c..8e71183 100644
--- a/server/api/squareProject/index.js
+++ b/server/api/squareProject/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.attributes.js b/server/api/squareProject/squareProject.attributes.js
index bb3a406..ffba08a 100644
--- a/server/api/squareProject/squareProject.attributes.js
+++ b/server/api/squareProject/squareProject.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.controller.js b/server/api/squareProject/squareProject.controller.js
index 96546fa..c35942d 100644
--- a/server/api/squareProject/squareProject.controller.js
+++ b/server/api/squareProject/squareProject.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.events.js b/server/api/squareProject/squareProject.events.js
index 88d0d41..a8f30a2 100644
--- a/server/api/squareProject/squareProject.events.js
+++ b/server/api/squareProject/squareProject.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.model.js b/server/api/squareProject/squareProject.model.js
index e54398e..2bd89e7 100644
--- a/server/api/squareProject/squareProject.model.js
+++ b/server/api/squareProject/squareProject.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.rpc.js b/server/api/squareProject/squareProject.rpc.js
index c91adb7..4cff71a 100644
--- a/server/api/squareProject/squareProject.rpc.js
+++ b/server/api/squareProject/squareProject.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.socket.js b/server/api/squareProject/squareProject.socket.js
index 21be2bf..7fc50ba 100644
--- a/server/api/squareProject/squareProject.socket.js
+++ b/server/api/squareProject/squareProject.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/index.js b/server/api/squareRecording/index.js
index ae18945..3f9db74 100644
--- a/server/api/squareRecording/index.js
+++ b/server/api/squareRecording/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.attributes.js b/server/api/squareRecording/squareRecording.attributes.js
index 6d2385f..8a2fa5e 100644
--- a/server/api/squareRecording/squareRecording.attributes.js
+++ b/server/api/squareRecording/squareRecording.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.controller.js b/server/api/squareRecording/squareRecording.controller.js
index a92bb47..0d0dc58 100644
--- a/server/api/squareRecording/squareRecording.controller.js
+++ b/server/api/squareRecording/squareRecording.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.model.js b/server/api/squareRecording/squareRecording.model.js
index 921e09c..db6f666 100644
--- a/server/api/squareRecording/squareRecording.model.js
+++ b/server/api/squareRecording/squareRecording.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.rpc.js b/server/api/squareRecording/squareRecording.rpc.js
index 7db3a33..bc61a39 100644
--- a/server/api/squareRecording/squareRecording.rpc.js
+++ b/server/api/squareRecording/squareRecording.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/index.js b/server/api/squareReport/index.js
index 2c557c9..3f1836e 100644
--- a/server/api/squareReport/index.js
+++ b/server/api/squareReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.attributes.js b/server/api/squareReport/squareReport.attributes.js
index 5a802d3..ee69f17 100644
--- a/server/api/squareReport/squareReport.attributes.js
+++ b/server/api/squareReport/squareReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.controller.js b/server/api/squareReport/squareReport.controller.js
index 1908ac6..7bc4ea4 100644
--- a/server/api/squareReport/squareReport.controller.js
+++ b/server/api/squareReport/squareReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.model.js b/server/api/squareReport/squareReport.model.js
index 28514b4..09ea473 100644
--- a/server/api/squareReport/squareReport.model.js
+++ b/server/api/squareReport/squareReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.rpc.js b/server/api/squareReport/squareReport.rpc.js
index 1326e91..4cc08d5 100644
--- a/server/api/squareReport/squareReport.rpc.js
+++ b/server/api/squareReport/squareReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/index.js b/server/api/squareReportDetail/index.js
index 4e82361..282cad6 100644
--- a/server/api/squareReportDetail/index.js
+++ b/server/api/squareReportDetail/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.attributes.js b/server/api/squareReportDetail/squareReportDetail.attributes.js
index 02071ac..9387dd4 100644
--- a/server/api/squareReportDetail/squareReportDetail.attributes.js
+++ b/server/api/squareReportDetail/squareReportDetail.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.controller.js b/server/api/squareReportDetail/squareReportDetail.controller.js
index 00d08e0..1366b66 100644
--- a/server/api/squareReportDetail/squareReportDetail.controller.js
+++ b/server/api/squareReportDetail/squareReportDetail.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.model.js b/server/api/squareReportDetail/squareReportDetail.model.js
index bd3141e..bc56af9 100644
--- a/server/api/squareReportDetail/squareReportDetail.model.js
+++ b/server/api/squareReportDetail/squareReportDetail.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.rpc.js b/server/api/squareReportDetail/squareReportDetail.rpc.js
index 83b6a19..aee3dc6 100644
--- a/server/api/squareReportDetail/squareReportDetail.rpc.js
+++ b/server/api/squareReportDetail/squareReportDetail.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/system/index.js b/server/api/system/index.js
index 4db4c8d..3370f5e 100644
--- a/server/api/system/index.js
+++ b/server/api/system/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/system/system.controller.js b/server/api/system/system.controller.js
index bb25a50..54336be 100644
--- a/server/api/system/system.controller.js
+++ b/server/api/system/system.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/index.js b/server/api/tag/index.js
index a337a48..3e656d4 100644
--- a/server/api/tag/index.js
+++ b/server/api/tag/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.attributes.js b/server/api/tag/tag.attributes.js
index 10c9544..2c99895 100644
--- a/server/api/tag/tag.attributes.js
+++ b/server/api/tag/tag.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.controller.js b/server/api/tag/tag.controller.js
index 1013606..5cb3a95 100644
--- a/server/api/tag/tag.controller.js
+++ b/server/api/tag/tag.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.model.js b/server/api/tag/tag.model.js
index 33f99e1..2f6e858 100644
--- a/server/api/tag/tag.model.js
+++ b/server/api/tag/tag.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.rpc.js b/server/api/tag/tag.rpc.js
index 54204ef..3136bff 100644
--- a/server/api/tag/tag.rpc.js
+++ b/server/api/tag/tag.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/index.js b/server/api/team/index.js
index bc33496..3832b2b 100644
--- a/server/api/team/index.js
+++ b/server/api/team/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.attributes.js b/server/api/team/team.attributes.js
index 2a0cee2..9adf0fe 100644
--- a/server/api/team/team.attributes.js
+++ b/server/api/team/team.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.controller.js b/server/api/team/team.controller.js
index f55088e..716e410 100644
--- a/server/api/team/team.controller.js
+++ b/server/api/team/team.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.events.js b/server/api/team/team.events.js
index d114425..decd471 100644
--- a/server/api/team/team.events.js
+++ b/server/api/team/team.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.model.js b/server/api/team/team.model.js
index 7f1b924..2f4df65 100644
--- a/server/api/team/team.model.js
+++ b/server/api/team/team.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.rpc.js b/server/api/team/team.rpc.js
index bad468c..69949aa 100644
--- a/server/api/team/team.rpc.js
+++ b/server/api/team/team.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.socket.js b/server/api/team/team.socket.js
index 96342bb..305a71a 100644
--- a/server/api/team/team.socket.js
+++ b/server/api/team/team.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/index.js b/server/api/template/index.js
index 493bcb7..1362234 100644
--- a/server/api/template/index.js
+++ b/server/api/template/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.attributes.js b/server/api/template/template.attributes.js
index 81af848..bc23cfa 100644
--- a/server/api/template/template.attributes.js
+++ b/server/api/template/template.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
+var _0xc3ed=['TEXT'];(function(_0x3d243c,_0x26b00d){var _0x562131=function(_0x55bbdd){while(--_0x55bbdd){_0x3d243c['push'](_0x3d243c['shift']());}};_0x562131(++_0x26b00d);}(_0xc3ed,0xb2));var _0xdc3e=function(_0x3280c8,_0x341c9b){_0x3280c8=_0x3280c8-0x0;var _0x55737f=_0xc3ed[_0x3280c8];return _0x55737f;};'use strict';var Sequelize=require('sequelize');module['exports']={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize['STRING']},'html':{'type':Sequelize[_0xdc3e('0x0')]}};
\ No newline at end of file
diff --git a/server/api/template/template.controller.js b/server/api/template/template.controller.js
index bd1d485..fcab6ce 100644
--- a/server/api/template/template.controller.js
+++ b/server/api/template/template.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.model.js b/server/api/template/template.model.js
index 1c1ffbf..c47b646 100644
--- a/server/api/template/template.model.js
+++ b/server/api/template/template.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.rpc.js b/server/api/template/template.rpc.js
index b34d8f7..11c754d 100644
--- a/server/api/template/template.rpc.js
+++ b/server/api/template/template.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/index.js b/server/api/trigger/index.js
index 3d2298c..656e08e 100644
--- a/server/api/trigger/index.js
+++ b/server/api/trigger/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.attributes.js b/server/api/trigger/trigger.attributes.js
index ac12861..7e30ea6 100644
--- a/server/api/trigger/trigger.attributes.js
+++ b/server/api/trigger/trigger.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.controller.js b/server/api/trigger/trigger.controller.js
index 5b3364d..1589b26 100644
--- a/server/api/trigger/trigger.controller.js
+++ b/server/api/trigger/trigger.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.model.js b/server/api/trigger/trigger.model.js
index d20a45b..607e817 100644
--- a/server/api/trigger/trigger.model.js
+++ b/server/api/trigger/trigger.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.rpc.js b/server/api/trigger/trigger.rpc.js
index 41129c1..2f488c9 100644
--- a/server/api/trigger/trigger.rpc.js
+++ b/server/api/trigger/trigger.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/index.js b/server/api/trunk/index.js
index 70257ae..e8b5284 100644
--- a/server/api/trunk/index.js
+++ b/server/api/trunk/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.attributes.js b/server/api/trunk/trunk.attributes.js
index a98a3e5..4d12e03 100644
--- a/server/api/trunk/trunk.attributes.js
+++ b/server/api/trunk/trunk.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.controller.js b/server/api/trunk/trunk.controller.js
index 8d8733d..af6edf8 100644
--- a/server/api/trunk/trunk.controller.js
+++ b/server/api/trunk/trunk.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.model.js b/server/api/trunk/trunk.model.js
index b1556c1..8b8d6e9 100644
--- a/server/api/trunk/trunk.model.js
+++ b/server/api/trunk/trunk.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.rpc.js b/server/api/trunk/trunk.rpc.js
index fd9d6da..56b6b86 100644
--- a/server/api/trunk/trunk.rpc.js
+++ b/server/api/trunk/trunk.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/index.js b/server/api/user/index.js
index 6009fdc..3f7e03f 100644
--- a/server/api/user/index.js
+++ b/server/api/user/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.attributes.js b/server/api/user/user.attributes.js
index d10f0cb..f46a084 100644
--- a/server/api/user/user.attributes.js
+++ b/server/api/user/user.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.controller.js b/server/api/user/user.controller.js
index 961bc69..af3d968 100644
--- a/server/api/user/user.controller.js
+++ b/server/api/user/user.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.events.js b/server/api/user/user.events.js
index bfb739d..0ac722e 100644
--- a/server/api/user/user.events.js
+++ b/server/api/user/user.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.model.js b/server/api/user/user.model.js
index eab3b34..7443c35 100644
--- a/server/api/user/user.model.js
+++ b/server/api/user/user.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.rpc.js b/server/api/user/user.rpc.js
index 23c1972..9ee7b27 100644
--- a/server/api/user/user.rpc.js
+++ b/server/api/user/user.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.socket.js b/server/api/user/user.socket.js
index 923c25c..1eabcad 100644
--- a/server/api/user/user.socket.js
+++ b/server/api/user/user.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/index.js b/server/api/userChatQueue/index.js
index d60468d..0985806 100644
--- a/server/api/userChatQueue/index.js
+++ b/server/api/userChatQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.attributes.js b/server/api/userChatQueue/userChatQueue.attributes.js
index 12d7e4d..fb69e55 100644
--- a/server/api/userChatQueue/userChatQueue.attributes.js
+++ b/server/api/userChatQueue/userChatQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xd8b0=['exports','sequelize'];(function(_0x428d5b,_0xe0b248){var _0x4cad30=function(_0x1344c7){while(--_0x1344c7){_0x428d5b['push'](_0x428d5b['shift']());}};_0x4cad30(++_0xe0b248);}(_0xd8b0,0xad));var _0x0d8b=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0xd8b0[_0xa464c9];return _0x3d73c4;};'use strict';var Sequelize=require(_0x0d8b('0x0'));module[_0x0d8b('0x1')]={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
+var _0xa9e0=['sequelize','exports','INTEGER'];(function(_0x2f0ac5,_0x328e4e){var _0x255ced=function(_0x417d46){while(--_0x417d46){_0x2f0ac5['push'](_0x2f0ac5['shift']());}};_0x255ced(++_0x328e4e);}(_0xa9e0,0x123));var _0x0a9e=function(_0x5b561d,_0x422b7c){_0x5b561d=_0x5b561d-0x0;var _0x431060=_0xa9e0[_0x5b561d];return _0x431060;};'use strict';var Sequelize=require(_0x0a9e('0x0'));module[_0x0a9e('0x1')]={'penalty':{'type':Sequelize[_0x0a9e('0x2')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.model.js b/server/api/userChatQueue/userChatQueue.model.js
index 97e886c..9fd486d 100644
--- a/server/api/userChatQueue/userChatQueue.model.js
+++ b/server/api/userChatQueue/userChatQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.rpc.js b/server/api/userChatQueue/userChatQueue.rpc.js
index 56d7a2f..0062b24 100644
--- a/server/api/userChatQueue/userChatQueue.rpc.js
+++ b/server/api/userChatQueue/userChatQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/index.js b/server/api/userFaxQueue/index.js
index 9a8c41d..8dfc6f4 100644
--- a/server/api/userFaxQueue/index.js
+++ b/server/api/userFaxQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.attributes.js b/server/api/userFaxQueue/userFaxQueue.attributes.js
index 59f6f2e..52bfda1 100644
--- a/server/api/userFaxQueue/userFaxQueue.attributes.js
+++ b/server/api/userFaxQueue/userFaxQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.model.js b/server/api/userFaxQueue/userFaxQueue.model.js
index 1ce7a8c..79e7397 100644
--- a/server/api/userFaxQueue/userFaxQueue.model.js
+++ b/server/api/userFaxQueue/userFaxQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.rpc.js b/server/api/userFaxQueue/userFaxQueue.rpc.js
index af13883..ad34d48 100644
--- a/server/api/userFaxQueue/userFaxQueue.rpc.js
+++ b/server/api/userFaxQueue/userFaxQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/index.js b/server/api/userMailQueue/index.js
index d67f534..ba84f5e 100644
--- a/server/api/userMailQueue/index.js
+++ b/server/api/userMailQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.attributes.js b/server/api/userMailQueue/userMailQueue.attributes.js
index 100e043..02c6965 100644
--- a/server/api/userMailQueue/userMailQueue.attributes.js
+++ b/server/api/userMailQueue/userMailQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xa9e0=['sequelize','exports','INTEGER'];(function(_0x283f07,_0x538ad7){var _0x25056a=function(_0x1909f9){while(--_0x1909f9){_0x283f07['push'](_0x283f07['shift']());}};_0x25056a(++_0x538ad7);}(_0xa9e0,0x123));var _0x0a9e=function(_0x19e35c,_0x29cd1e){_0x19e35c=_0x19e35c-0x0;var _0x3e1fe8=_0xa9e0[_0x19e35c];return _0x3e1fe8;};'use strict';var Sequelize=require(_0x0a9e('0x0'));module[_0x0a9e('0x1')]={'penalty':{'type':Sequelize[_0x0a9e('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0xd8b0=['exports','sequelize'];(function(_0x52d065,_0x31d24){var _0x49f7bc=function(_0x2f0966){while(--_0x2f0966){_0x52d065['push'](_0x52d065['shift']());}};_0x49f7bc(++_0x31d24);}(_0xd8b0,0xad));var _0x0d8b=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xd8b0[_0x20a584];return _0x4b41a8;};'use strict';var Sequelize=require(_0x0d8b('0x0'));module[_0x0d8b('0x1')]={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.model.js b/server/api/userMailQueue/userMailQueue.model.js
index 0ec4a38..eb1f893 100644
--- a/server/api/userMailQueue/userMailQueue.model.js
+++ b/server/api/userMailQueue/userMailQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.rpc.js b/server/api/userMailQueue/userMailQueue.rpc.js
index 2eee4c3..cb400a8 100644
--- a/server/api/userMailQueue/userMailQueue.rpc.js
+++ b/server/api/userMailQueue/userMailQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/index.js b/server/api/userOpenchannelQueue/index.js
index 37929a4..2ad668f 100644
--- a/server/api/userOpenchannelQueue/index.js
+++ b/server/api/userOpenchannelQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
index f83a7b9..84cbfd9 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xd8b0=['exports','sequelize'];(function(_0x18bca7,_0x13ccb8){var _0x1158e5=function(_0x323ba2){while(--_0x323ba2){_0x18bca7['push'](_0x18bca7['shift']());}};_0x1158e5(++_0x13ccb8);}(_0xd8b0,0xad));var _0x0d8b=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xd8b0[_0x20a584];return _0x4b41a8;};'use strict';var Sequelize=require(_0x0d8b('0x0'));module[_0x0d8b('0x1')]={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
+var _0xbaf0=['exports','INTEGER'];(function(_0x5d4607,_0x6b5e7b){var _0x5e4a86=function(_0x46891a){while(--_0x46891a){_0x5d4607['push'](_0x5d4607['shift']());}};_0x5e4a86(++_0x6b5e7b);}(_0xbaf0,0x12a));var _0x0baf=function(_0x5ddb1c,_0x5ea4df){_0x5ddb1c=_0x5ddb1c-0x0;var _0x354adc=_0xbaf0[_0x5ddb1c];return _0x354adc;};'use strict';var Sequelize=require('sequelize');module[_0x0baf('0x0')]={'penalty':{'type':Sequelize[_0x0baf('0x1')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
index 24b4000..f988d17 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js
index eb5a53b..ebfa356 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/index.js b/server/api/userProfile/index.js
index 373d6cc..befc0c3 100644
--- a/server/api/userProfile/index.js
+++ b/server/api/userProfile/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.attributes.js b/server/api/userProfile/userProfile.attributes.js
index 9041b43..0464062 100644
--- a/server/api/userProfile/userProfile.attributes.js
+++ b/server/api/userProfile/userProfile.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.controller.js b/server/api/userProfile/userProfile.controller.js
index 27efd47..771c2e9 100644
--- a/server/api/userProfile/userProfile.controller.js
+++ b/server/api/userProfile/userProfile.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.events.js b/server/api/userProfile/userProfile.events.js
index 1ebefaa..6bdee9e 100644
--- a/server/api/userProfile/userProfile.events.js
+++ b/server/api/userProfile/userProfile.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.model.js b/server/api/userProfile/userProfile.model.js
index 9d8c669..38986b6 100644
--- a/server/api/userProfile/userProfile.model.js
+++ b/server/api/userProfile/userProfile.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.rpc.js b/server/api/userProfile/userProfile.rpc.js
index 82f0eed..afdb146 100644
--- a/server/api/userProfile/userProfile.rpc.js
+++ b/server/api/userProfile/userProfile.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.socket.js b/server/api/userProfile/userProfile.socket.js
index c01e530..09d975c 100644
--- a/server/api/userProfile/userProfile.socket.js
+++ b/server/api/userProfile/userProfile.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/index.js b/server/api/userProfileResource/index.js
index aa03a9a..0f9ca5c 100644
--- a/server/api/userProfileResource/index.js
+++ b/server/api/userProfileResource/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.attributes.js b/server/api/userProfileResource/userProfileResource.attributes.js
index b47a51b..d253334 100644
--- a/server/api/userProfileResource/userProfileResource.attributes.js
+++ b/server/api/userProfileResource/userProfileResource.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.controller.js b/server/api/userProfileResource/userProfileResource.controller.js
index 7be921d..8513105 100644
--- a/server/api/userProfileResource/userProfileResource.controller.js
+++ b/server/api/userProfileResource/userProfileResource.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.model.js b/server/api/userProfileResource/userProfileResource.model.js
index c3cb9f7..7542c3f 100644
--- a/server/api/userProfileResource/userProfileResource.model.js
+++ b/server/api/userProfileResource/userProfileResource.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.rpc.js b/server/api/userProfileResource/userProfileResource.rpc.js
index ba6bfe9..1c5c3e0 100644
--- a/server/api/userProfileResource/userProfileResource.rpc.js
+++ b/server/api/userProfileResource/userProfileResource.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/index.js b/server/api/userProfileSection/index.js
index 8f58481..a30e529 100644
--- a/server/api/userProfileSection/index.js
+++ b/server/api/userProfileSection/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.attributes.js b/server/api/userProfileSection/userProfileSection.attributes.js
index 61aed81..1ca8147 100644
--- a/server/api/userProfileSection/userProfileSection.attributes.js
+++ b/server/api/userProfileSection/userProfileSection.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.controller.js b/server/api/userProfileSection/userProfileSection.controller.js
index 483b173..9c3244b 100644
--- a/server/api/userProfileSection/userProfileSection.controller.js
+++ b/server/api/userProfileSection/userProfileSection.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.model.js b/server/api/userProfileSection/userProfileSection.model.js
index b652119..53f085d 100644
--- a/server/api/userProfileSection/userProfileSection.model.js
+++ b/server/api/userProfileSection/userProfileSection.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.rpc.js b/server/api/userProfileSection/userProfileSection.rpc.js
index a66661a..76d8167 100644
--- a/server/api/userProfileSection/userProfileSection.rpc.js
+++ b/server/api/userProfileSection/userProfileSection.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/index.js b/server/api/userSmsQueue/index.js
index 1bc191a..ef8df7d 100644
--- a/server/api/userSmsQueue/index.js
+++ b/server/api/userSmsQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.attributes.js b/server/api/userSmsQueue/userSmsQueue.attributes.js
index 81ad5f1..2ad0dc3 100644
--- a/server/api/userSmsQueue/userSmsQueue.attributes.js
+++ b/server/api/userSmsQueue/userSmsQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xe706=['INTEGER','sequelize','exports'];(function(_0x189767,_0x2c06c4){var _0xb3906d=function(_0x29d57d){while(--_0x29d57d){_0x189767['push'](_0x189767['shift']());}};_0xb3906d(++_0x2c06c4);}(_0xe706,0xa3));var _0x6e70=function(_0x57bd4f,_0x42a4f5){_0x57bd4f=_0x57bd4f-0x0;var _0x25c08f=_0xe706[_0x57bd4f];return _0x25c08f;};'use strict';var Sequelize=require(_0x6e70('0x0'));module[_0x6e70('0x1')]={'penalty':{'type':Sequelize[_0x6e70('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0xe706=['INTEGER','sequelize','exports'];(function(_0x2d000c,_0x3a9cda){var _0x5b4909=function(_0x17085f){while(--_0x17085f){_0x2d000c['push'](_0x2d000c['shift']());}};_0x5b4909(++_0x3a9cda);}(_0xe706,0xa3));var _0x6e70=function(_0x363618,_0x5ebf3a){_0x363618=_0x363618-0x0;var _0x496dee=_0xe706[_0x363618];return _0x496dee;};'use strict';var Sequelize=require(_0x6e70('0x0'));module[_0x6e70('0x1')]={'penalty':{'type':Sequelize[_0x6e70('0x2')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.model.js b/server/api/userSmsQueue/userSmsQueue.model.js
index 8cc3a1e..42ae4f2 100644
--- a/server/api/userSmsQueue/userSmsQueue.model.js
+++ b/server/api/userSmsQueue/userSmsQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.rpc.js b/server/api/userSmsQueue/userSmsQueue.rpc.js
index 449dc83..d637862 100644
--- a/server/api/userSmsQueue/userSmsQueue.rpc.js
+++ b/server/api/userSmsQueue/userSmsQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/index.js b/server/api/userVoiceQueue/index.js
index 5a010d4..8403992 100644
--- a/server/api/userVoiceQueue/index.js
+++ b/server/api/userVoiceQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.attributes.js b/server/api/userVoiceQueue/userVoiceQueue.attributes.js
index f830d92..d058e6d 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.attributes.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xd8b0=['exports','sequelize'];(function(_0x56d896,_0x3b4c9c){var _0x293639=function(_0x126c14){while(--_0x126c14){_0x56d896['push'](_0x56d896['shift']());}};_0x293639(++_0x3b4c9c);}(_0xd8b0,0xad));var _0x0d8b=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0xd8b0[_0xa464c9];return _0x3d73c4;};'use strict';var Sequelize=require(_0x0d8b('0x0'));module[_0x0d8b('0x1')]={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
+var _0xe706=['INTEGER','sequelize','exports'];(function(_0x330adf,_0x3e6cf4){var _0x120d10=function(_0xf7d4b2){while(--_0xf7d4b2){_0x330adf['push'](_0x330adf['shift']());}};_0x120d10(++_0x3e6cf4);}(_0xe706,0xa3));var _0x6e70=function(_0x33fab6,_0x532a04){_0x33fab6=_0x33fab6-0x0;var _0x314e60=_0xe706[_0x33fab6];return _0x314e60;};'use strict';var Sequelize=require(_0x6e70('0x0'));module[_0x6e70('0x1')]={'penalty':{'type':Sequelize[_0x6e70('0x2')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.model.js b/server/api/userVoiceQueue/userVoiceQueue.model.js
index f95d7bf..c181eee 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.model.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.rpc.js b/server/api/userVoiceQueue/userVoiceQueue.rpc.js
index 4baa01f..6367806 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.rpc.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/index.js b/server/api/userVoiceQueueRt/index.js
index f6fa763..39c4f1e 100644
--- a/server/api/userVoiceQueueRt/index.js
+++ b/server/api/userVoiceQueueRt/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
index f5f9b92..c7c7773 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
index 0052440..add6c72 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
index 3e9c577..4736d1d 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
index 97336ce..835fb47 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
index 7b969fa..f55e1ad 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userWhatsappQueue/index.js b/server/api/userWhatsappQueue/index.js
new file mode 100644
index 0000000..a3e1b1a
--- /dev/null
+++ b/server/api/userWhatsappQueue/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/userWhatsappQueue/userWhatsappQueue.attributes.js b/server/api/userWhatsappQueue/userWhatsappQueue.attributes.js
new file mode 100644
index 0000000..205f67b
--- /dev/null
+++ b/server/api/userWhatsappQueue/userWhatsappQueue.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
+var _0xe706=['INTEGER','sequelize','exports'];(function(_0x59a268,_0x3bd156){var _0x36733e=function(_0x3b00f9){while(--_0x3b00f9){_0x59a268['push'](_0x59a268['shift']());}};_0x36733e(++_0x3bd156);}(_0xe706,0xa3));var _0x6e70=function(_0xf4356f,_0x478f6d){_0xf4356f=_0xf4356f-0x0;var _0x3c304c=_0xe706[_0xf4356f];return _0x3c304c;};'use strict';var Sequelize=require(_0x6e70('0x0'));module[_0x6e70('0x1')]={'penalty':{'type':Sequelize[_0x6e70('0x2')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userWhatsappQueue/userWhatsappQueue.model.js b/server/api/userWhatsappQueue/userWhatsappQueue.model.js
new file mode 100644
index 0000000..82bc935
--- /dev/null
+++ b/server/api/userWhatsappQueue/userWhatsappQueue.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/userWhatsappQueue/userWhatsappQueue.rpc.js b/server/api/userWhatsappQueue/userWhatsappQueue.rpc.js
new file mode 100644
index 0000000..009f1ea
--- /dev/null
+++ b/server/api/userWhatsappQueue/userWhatsappQueue.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/variable/index.js b/server/api/variable/index.js
index 67ba701..4353ed8 100644
--- a/server/api/variable/index.js
+++ b/server/api/variable/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.attributes.js b/server/api/variable/variable.attributes.js
index 0f63c51..48b8122 100644
--- a/server/api/variable/variable.attributes.js
+++ b/server/api/variable/variable.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.controller.js b/server/api/variable/variable.controller.js
index 92cfb7f..bca643a 100644
--- a/server/api/variable/variable.controller.js
+++ b/server/api/variable/variable.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.model.js b/server/api/variable/variable.model.js
index fd24159..3f5f9e4 100644
--- a/server/api/variable/variable.model.js
+++ b/server/api/variable/variable.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.rpc.js b/server/api/variable/variable.rpc.js
index a502e30..a1aa271 100644
--- a/server/api/variable/variable.rpc.js
+++ b/server/api/variable/variable.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/version/index.js b/server/api/version/index.js
index 66517cc..7112ed7 100644
--- a/server/api/version/index.js
+++ b/server/api/version/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/version/version.controller.js b/server/api/version/version.controller.js
index 0bd68e0..e71c34c 100644
--- a/server/api/version/version.controller.js
+++ b/server/api/version/version.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/index.js b/server/api/voiceAgentReport/index.js
index 5847e75..0bcdf8a 100644
--- a/server/api/voiceAgentReport/index.js
+++ b/server/api/voiceAgentReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.attributes.js b/server/api/voiceAgentReport/voiceAgentReport.attributes.js
index cf639d3..5452fa4 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.attributes.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.controller.js b/server/api/voiceAgentReport/voiceAgentReport.controller.js
index afa44e2..384b550 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.controller.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.model.js b/server/api/voiceAgentReport/voiceAgentReport.model.js
index 7dda237..4691e27 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.model.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.rpc.js b/server/api/voiceAgentReport/voiceAgentReport.rpc.js
index 1ad8eee..4172980 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.rpc.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/index.js b/server/api/voiceCallReport/index.js
index 848b8c5..749d17d 100644
--- a/server/api/voiceCallReport/index.js
+++ b/server/api/voiceCallReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.attributes.js b/server/api/voiceCallReport/voiceCallReport.attributes.js
index d4edcc4..087eff2 100644
--- a/server/api/voiceCallReport/voiceCallReport.attributes.js
+++ b/server/api/voiceCallReport/voiceCallReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.controller.js b/server/api/voiceCallReport/voiceCallReport.controller.js
index 6023fa4..45f58a0 100644
--- a/server/api/voiceCallReport/voiceCallReport.controller.js
+++ b/server/api/voiceCallReport/voiceCallReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.model.js b/server/api/voiceCallReport/voiceCallReport.model.js
index 01e50be..bb71b6f 100644
--- a/server/api/voiceCallReport/voiceCallReport.model.js
+++ b/server/api/voiceCallReport/voiceCallReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.rpc.js b/server/api/voiceCallReport/voiceCallReport.rpc.js
index 9bd19d9..b7feee0 100644
--- a/server/api/voiceCallReport/voiceCallReport.rpc.js
+++ b/server/api/voiceCallReport/voiceCallReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/index.js b/server/api/voiceChanSpy/index.js
index 0146f77..ca51854 100644
--- a/server/api/voiceChanSpy/index.js
+++ b/server/api/voiceChanSpy/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.attributes.js b/server/api/voiceChanSpy/voiceChanSpy.attributes.js
index 38a7cfb..4475abc 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.attributes.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.controller.js b/server/api/voiceChanSpy/voiceChanSpy.controller.js
index df8cc7f..bb78e9c 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.controller.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.model.js b/server/api/voiceChanSpy/voiceChanSpy.model.js
index 58ff609..366f082 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.model.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.rpc.js b/server/api/voiceChanSpy/voiceChanSpy.rpc.js
index 3c6a91c..6fa5967 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.rpc.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/index.js b/server/api/voiceContext/index.js
index a2f6a3e..3d8da11 100644
--- a/server/api/voiceContext/index.js
+++ b/server/api/voiceContext/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.attributes.js b/server/api/voiceContext/voiceContext.attributes.js
index a621853..ba0a041 100644
--- a/server/api/voiceContext/voiceContext.attributes.js
+++ b/server/api/voiceContext/voiceContext.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.controller.js b/server/api/voiceContext/voiceContext.controller.js
index 5276335..c361d04 100644
--- a/server/api/voiceContext/voiceContext.controller.js
+++ b/server/api/voiceContext/voiceContext.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.model.js b/server/api/voiceContext/voiceContext.model.js
index c25febe..8ad5b4d 100644
--- a/server/api/voiceContext/voiceContext.model.js
+++ b/server/api/voiceContext/voiceContext.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.rpc.js b/server/api/voiceContext/voiceContext.rpc.js
index d811b54..ffe7843 100644
--- a/server/api/voiceContext/voiceContext.rpc.js
+++ b/server/api/voiceContext/voiceContext.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/index.js b/server/api/voiceDialReport/index.js
index adb5b1f..3fd4c2f 100644
--- a/server/api/voiceDialReport/index.js
+++ b/server/api/voiceDialReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.attributes.js b/server/api/voiceDialReport/voiceDialReport.attributes.js
index 7ead0b0..7e6bf66 100644
--- a/server/api/voiceDialReport/voiceDialReport.attributes.js
+++ b/server/api/voiceDialReport/voiceDialReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.controller.js b/server/api/voiceDialReport/voiceDialReport.controller.js
index 0a5c8c6..8842e0f 100644
--- a/server/api/voiceDialReport/voiceDialReport.controller.js
+++ b/server/api/voiceDialReport/voiceDialReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.model.js b/server/api/voiceDialReport/voiceDialReport.model.js
index c538ddc..59bae59 100644
--- a/server/api/voiceDialReport/voiceDialReport.model.js
+++ b/server/api/voiceDialReport/voiceDialReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.rpc.js b/server/api/voiceDialReport/voiceDialReport.rpc.js
index 4861760..9504044 100644
--- a/server/api/voiceDialReport/voiceDialReport.rpc.js
+++ b/server/api/voiceDialReport/voiceDialReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/index.js b/server/api/voiceExtension/index.js
index 3b8ba74..b22ff9e 100644
--- a/server/api/voiceExtension/index.js
+++ b/server/api/voiceExtension/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.attributes.js b/server/api/voiceExtension/voiceExtension.attributes.js
index 65aba3b..6911ead 100644
--- a/server/api/voiceExtension/voiceExtension.attributes.js
+++ b/server/api/voiceExtension/voiceExtension.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.controller.js b/server/api/voiceExtension/voiceExtension.controller.js
index f1b53cc..c5d2866 100644
--- a/server/api/voiceExtension/voiceExtension.controller.js
+++ b/server/api/voiceExtension/voiceExtension.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.events.js b/server/api/voiceExtension/voiceExtension.events.js
index 99e7933..e808448 100644
--- a/server/api/voiceExtension/voiceExtension.events.js
+++ b/server/api/voiceExtension/voiceExtension.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.model.js b/server/api/voiceExtension/voiceExtension.model.js
index 0281530..648f6b6 100644
--- a/server/api/voiceExtension/voiceExtension.model.js
+++ b/server/api/voiceExtension/voiceExtension.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.rpc.js b/server/api/voiceExtension/voiceExtension.rpc.js
index 2a8b616..24358fb 100644
--- a/server/api/voiceExtension/voiceExtension.rpc.js
+++ b/server/api/voiceExtension/voiceExtension.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.socket.js b/server/api/voiceExtension/voiceExtension.socket.js
index 72bf6fb..4d24cac 100644
--- a/server/api/voiceExtension/voiceExtension.socket.js
+++ b/server/api/voiceExtension/voiceExtension.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/index.js b/server/api/voiceMail/index.js
index 7094d1b..558eca0 100644
--- a/server/api/voiceMail/index.js
+++ b/server/api/voiceMail/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.attributes.js b/server/api/voiceMail/voiceMail.attributes.js
index 04a1f9a..711c5f2 100644
--- a/server/api/voiceMail/voiceMail.attributes.js
+++ b/server/api/voiceMail/voiceMail.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.controller.js b/server/api/voiceMail/voiceMail.controller.js
index abd3f2c..03b88c0 100644
--- a/server/api/voiceMail/voiceMail.controller.js
+++ b/server/api/voiceMail/voiceMail.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.model.js b/server/api/voiceMail/voiceMail.model.js
index 97ab276..9a9cb3c 100644
--- a/server/api/voiceMail/voiceMail.model.js
+++ b/server/api/voiceMail/voiceMail.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.rpc.js b/server/api/voiceMail/voiceMail.rpc.js
index e810beb..0b8b7ec 100644
--- a/server/api/voiceMail/voiceMail.rpc.js
+++ b/server/api/voiceMail/voiceMail.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/index.js b/server/api/voiceMailMessage/index.js
index bb78f4e..0fc454d 100644
--- a/server/api/voiceMailMessage/index.js
+++ b/server/api/voiceMailMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.attributes.js b/server/api/voiceMailMessage/voiceMailMessage.attributes.js
index e496f2d..845de6d 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.attributes.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.controller.js b/server/api/voiceMailMessage/voiceMailMessage.controller.js
index 3fb43c5..d2ecec6 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.controller.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.model.js b/server/api/voiceMailMessage/voiceMailMessage.model.js
index fc1e306..7eab190 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.model.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.rpc.js b/server/api/voiceMailMessage/voiceMailMessage.rpc.js
index 9af68be..06ae105 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.rpc.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/index.js b/server/api/voiceMusicOnHold/index.js
index 5add19f..834d87a 100644
--- a/server/api/voiceMusicOnHold/index.js
+++ b/server/api/voiceMusicOnHold/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
index f39cb1f..4d3d7f3 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
index 50da402..9dda3c7 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
index 86cf973..d8dd676 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js
index 9d30088..22fb14f 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/index.js b/server/api/voicePrefix/index.js
index b177243..3122761 100644
--- a/server/api/voicePrefix/index.js
+++ b/server/api/voicePrefix/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.attributes.js b/server/api/voicePrefix/voicePrefix.attributes.js
index 8e42225..595e47f 100644
--- a/server/api/voicePrefix/voicePrefix.attributes.js
+++ b/server/api/voicePrefix/voicePrefix.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.controller.js b/server/api/voicePrefix/voicePrefix.controller.js
index 40b6e8c..ebd7481 100644
--- a/server/api/voicePrefix/voicePrefix.controller.js
+++ b/server/api/voicePrefix/voicePrefix.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.events.js b/server/api/voicePrefix/voicePrefix.events.js
index 2cfc971..8d7108f 100644
--- a/server/api/voicePrefix/voicePrefix.events.js
+++ b/server/api/voicePrefix/voicePrefix.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.model.js b/server/api/voicePrefix/voicePrefix.model.js
index ee15fb2..7669018 100644
--- a/server/api/voicePrefix/voicePrefix.model.js
+++ b/server/api/voicePrefix/voicePrefix.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.rpc.js b/server/api/voicePrefix/voicePrefix.rpc.js
index ee36900..c664147 100644
--- a/server/api/voicePrefix/voicePrefix.rpc.js
+++ b/server/api/voicePrefix/voicePrefix.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.socket.js b/server/api/voicePrefix/voicePrefix.socket.js
index 2a7e2b4..207a79d 100644
--- a/server/api/voicePrefix/voicePrefix.socket.js
+++ b/server/api/voicePrefix/voicePrefix.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/index.js b/server/api/voiceQueue/index.js
index 696417b..4eccf7b 100644
--- a/server/api/voiceQueue/index.js
+++ b/server/api/voiceQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.attributes.js b/server/api/voiceQueue/voiceQueue.attributes.js
index 08c20f6..f0176e4 100644
--- a/server/api/voiceQueue/voiceQueue.attributes.js
+++ b/server/api/voiceQueue/voiceQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.controller.js b/server/api/voiceQueue/voiceQueue.controller.js
index 596dcf2..50497be 100644
--- a/server/api/voiceQueue/voiceQueue.controller.js
+++ b/server/api/voiceQueue/voiceQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.events.js b/server/api/voiceQueue/voiceQueue.events.js
index f43bc91..0006bee 100644
--- a/server/api/voiceQueue/voiceQueue.events.js
+++ b/server/api/voiceQueue/voiceQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.model.js b/server/api/voiceQueue/voiceQueue.model.js
index e36fd90..eac9507 100644
--- a/server/api/voiceQueue/voiceQueue.model.js
+++ b/server/api/voiceQueue/voiceQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.rpc.js b/server/api/voiceQueue/voiceQueue.rpc.js
index 89be885..812c1c3 100644
--- a/server/api/voiceQueue/voiceQueue.rpc.js
+++ b/server/api/voiceQueue/voiceQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.socket.js b/server/api/voiceQueue/voiceQueue.socket.js
index 4e99a24..964c820 100644
--- a/server/api/voiceQueue/voiceQueue.socket.js
+++ b/server/api/voiceQueue/voiceQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/index.js b/server/api/voiceQueueReport/index.js
index 073aafb..9d7a69c 100644
--- a/server/api/voiceQueueReport/index.js
+++ b/server/api/voiceQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.attributes.js b/server/api/voiceQueueReport/voiceQueueReport.attributes.js
index c357292..eb55e5f 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.attributes.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.controller.js b/server/api/voiceQueueReport/voiceQueueReport.controller.js
index 074668e..9680829 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.controller.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.events.js b/server/api/voiceQueueReport/voiceQueueReport.events.js
index 476ae01..c4fa4f3 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.events.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.model.js b/server/api/voiceQueueReport/voiceQueueReport.model.js
index fb278e0..12a2c39 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.model.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.rpc.js b/server/api/voiceQueueReport/voiceQueueReport.rpc.js
index e0c0a94..cac7702 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.rpc.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.socket.js b/server/api/voiceQueueReport/voiceQueueReport.socket.js
index 83c9494..caeea0a 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.socket.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/index.js b/server/api/voiceQueuesLog/index.js
index 558d40f..1c66869 100644
--- a/server/api/voiceQueuesLog/index.js
+++ b/server/api/voiceQueuesLog/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js b/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
index 292b47f..a598534 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.controller.js b/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
index 809ac16..9c74b1b 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.model.js b/server/api/voiceQueuesLog/voiceQueuesLog.model.js
index aa39eed..5d3c7e6 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.model.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js b/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js
index 6f3793b..9f8b922 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/index.js b/server/api/voiceRecording/index.js
index bed314c..911d5d6 100644
--- a/server/api/voiceRecording/index.js
+++ b/server/api/voiceRecording/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.attributes.js b/server/api/voiceRecording/voiceRecording.attributes.js
index 5be614b..5bd979e 100644
--- a/server/api/voiceRecording/voiceRecording.attributes.js
+++ b/server/api/voiceRecording/voiceRecording.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.controller.js b/server/api/voiceRecording/voiceRecording.controller.js
index 159c391..146f1b6 100644
--- a/server/api/voiceRecording/voiceRecording.controller.js
+++ b/server/api/voiceRecording/voiceRecording.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.model.js b/server/api/voiceRecording/voiceRecording.model.js
index 5670446..0e9bd21 100644
--- a/server/api/voiceRecording/voiceRecording.model.js
+++ b/server/api/voiceRecording/voiceRecording.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.rpc.js b/server/api/voiceRecording/voiceRecording.rpc.js
index 1258905..d0bf6b8 100644
--- a/server/api/voiceRecording/voiceRecording.rpc.js
+++ b/server/api/voiceRecording/voiceRecording.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/index.js b/server/api/voiceTransferReport/index.js
index 322a013..9616327 100644
--- a/server/api/voiceTransferReport/index.js
+++ b/server/api/voiceTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.attributes.js b/server/api/voiceTransferReport/voiceTransferReport.attributes.js
index d91ff26..d13efe9 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.attributes.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.controller.js b/server/api/voiceTransferReport/voiceTransferReport.controller.js
index 57d5c22..69ceeaa 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.controller.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.model.js b/server/api/voiceTransferReport/voiceTransferReport.model.js
index 585ce92..32d0b77 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.model.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.rpc.js b/server/api/voiceTransferReport/voiceTransferReport.rpc.js
index bdaa666..13169f2 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.rpc.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/webbar/index.js b/server/api/webbar/index.js
new file mode 100644
index 0000000..a5447f1
--- /dev/null
+++ b/server/api/webbar/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/webbar/webbar.controller.js b/server/api/webbar/webbar.controller.js
new file mode 100644
index 0000000..1aa4e10
--- /dev/null
+++ b/server/api/webbar/webbar.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappAccount/index.js b/server/api/whatsappAccount/index.js
new file mode 100644
index 0000000..897c0d1
--- /dev/null
+++ b/server/api/whatsappAccount/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.attributes.js b/server/api/whatsappAccount/whatsappAccount.attributes.js
new file mode 100644
index 0000000..28fd53e
--- /dev/null
+++ b/server/api/whatsappAccount/whatsappAccount.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.controller.js b/server/api/whatsappAccount/whatsappAccount.controller.js
new file mode 100644
index 0000000..30fd085
--- /dev/null
+++ b/server/api/whatsappAccount/whatsappAccount.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.events.js b/server/api/whatsappAccount/whatsappAccount.events.js
new file mode 100644
index 0000000..8c3da52
--- /dev/null
+++ b/server/api/whatsappAccount/whatsappAccount.events.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.model.js b/server/api/whatsappAccount/whatsappAccount.model.js
new file mode 100644
index 0000000..864a2b2
--- /dev/null
+++ b/server/api/whatsappAccount/whatsappAccount.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.rpc.js b/server/api/whatsappAccount/whatsappAccount.rpc.js
new file mode 100644
index 0000000..ed782a0
--- /dev/null
+++ b/server/api/whatsappAccount/whatsappAccount.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.socket.js b/server/api/whatsappAccount/whatsappAccount.socket.js
new file mode 100644
index 0000000..6aa32e1
--- /dev/null
+++ b/server/api/whatsappAccount/whatsappAccount.socket.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappApplication/index.js b/server/api/whatsappApplication/index.js
new file mode 100644
index 0000000..74d8be4
--- /dev/null
+++ b/server/api/whatsappApplication/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappApplication/whatsappApplication.attributes.js b/server/api/whatsappApplication/whatsappApplication.attributes.js
new file mode 100644
index 0000000..f03e6cf
--- /dev/null
+++ b/server/api/whatsappApplication/whatsappApplication.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappApplication/whatsappApplication.controller.js b/server/api/whatsappApplication/whatsappApplication.controller.js
new file mode 100644
index 0000000..60fb097
--- /dev/null
+++ b/server/api/whatsappApplication/whatsappApplication.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappApplication/whatsappApplication.model.js b/server/api/whatsappApplication/whatsappApplication.model.js
new file mode 100644
index 0000000..c45e986
--- /dev/null
+++ b/server/api/whatsappApplication/whatsappApplication.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappApplication/whatsappApplication.rpc.js b/server/api/whatsappApplication/whatsappApplication.rpc.js
new file mode 100644
index 0000000..8193891
--- /dev/null
+++ b/server/api/whatsappApplication/whatsappApplication.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/index.js b/server/api/whatsappInteraction/index.js
new file mode 100644
index 0000000..cb75a05
--- /dev/null
+++ b/server/api/whatsappInteraction/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.attributes.js b/server/api/whatsappInteraction/whatsappInteraction.attributes.js
new file mode 100644
index 0000000..07b6f36
--- /dev/null
+++ b/server/api/whatsappInteraction/whatsappInteraction.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.controller.js b/server/api/whatsappInteraction/whatsappInteraction.controller.js
new file mode 100644
index 0000000..0667a70
--- /dev/null
+++ b/server/api/whatsappInteraction/whatsappInteraction.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.events.js b/server/api/whatsappInteraction/whatsappInteraction.events.js
new file mode 100644
index 0000000..83475c6
--- /dev/null
+++ b/server/api/whatsappInteraction/whatsappInteraction.events.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.model.js b/server/api/whatsappInteraction/whatsappInteraction.model.js
new file mode 100644
index 0000000..50ad186
--- /dev/null
+++ b/server/api/whatsappInteraction/whatsappInteraction.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.rpc.js b/server/api/whatsappInteraction/whatsappInteraction.rpc.js
new file mode 100644
index 0000000..952ca69
--- /dev/null
+++ b/server/api/whatsappInteraction/whatsappInteraction.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.socket.js b/server/api/whatsappInteraction/whatsappInteraction.socket.js
new file mode 100644
index 0000000..8b5ea81
--- /dev/null
+++ b/server/api/whatsappInteraction/whatsappInteraction.socket.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappMessage/index.js b/server/api/whatsappMessage/index.js
new file mode 100644
index 0000000..23fea7b
--- /dev/null
+++ b/server/api/whatsappMessage/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.attributes.js b/server/api/whatsappMessage/whatsappMessage.attributes.js
new file mode 100644
index 0000000..bd04650
--- /dev/null
+++ b/server/api/whatsappMessage/whatsappMessage.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.controller.js b/server/api/whatsappMessage/whatsappMessage.controller.js
new file mode 100644
index 0000000..1c49710
--- /dev/null
+++ b/server/api/whatsappMessage/whatsappMessage.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.events.js b/server/api/whatsappMessage/whatsappMessage.events.js
new file mode 100644
index 0000000..74c88c3
--- /dev/null
+++ b/server/api/whatsappMessage/whatsappMessage.events.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.model.js b/server/api/whatsappMessage/whatsappMessage.model.js
new file mode 100644
index 0000000..04d90fc
--- /dev/null
+++ b/server/api/whatsappMessage/whatsappMessage.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.rpc.js b/server/api/whatsappMessage/whatsappMessage.rpc.js
new file mode 100644
index 0000000..517d176
--- /dev/null
+++ b/server/api/whatsappMessage/whatsappMessage.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.socket.js b/server/api/whatsappMessage/whatsappMessage.socket.js
new file mode 100644
index 0000000..2d57bf2
--- /dev/null
+++ b/server/api/whatsappMessage/whatsappMessage.socket.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueue/index.js b/server/api/whatsappQueue/index.js
new file mode 100644
index 0000000..54887de
--- /dev/null
+++ b/server/api/whatsappQueue/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.attributes.js b/server/api/whatsappQueue/whatsappQueue.attributes.js
new file mode 100644
index 0000000..dd92157
--- /dev/null
+++ b/server/api/whatsappQueue/whatsappQueue.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.controller.js b/server/api/whatsappQueue/whatsappQueue.controller.js
new file mode 100644
index 0000000..8b64637
--- /dev/null
+++ b/server/api/whatsappQueue/whatsappQueue.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.events.js b/server/api/whatsappQueue/whatsappQueue.events.js
new file mode 100644
index 0000000..141a67b
--- /dev/null
+++ b/server/api/whatsappQueue/whatsappQueue.events.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.model.js b/server/api/whatsappQueue/whatsappQueue.model.js
new file mode 100644
index 0000000..2eae288
--- /dev/null
+++ b/server/api/whatsappQueue/whatsappQueue.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.rpc.js b/server/api/whatsappQueue/whatsappQueue.rpc.js
new file mode 100644
index 0000000..3a97765
--- /dev/null
+++ b/server/api/whatsappQueue/whatsappQueue.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.socket.js b/server/api/whatsappQueue/whatsappQueue.socket.js
new file mode 100644
index 0000000..983e0e3
--- /dev/null
+++ b/server/api/whatsappQueue/whatsappQueue.socket.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/index.js b/server/api/whatsappQueueReport/index.js
new file mode 100644
index 0000000..a155326
--- /dev/null
+++ b/server/api/whatsappQueueReport/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.attributes.js b/server/api/whatsappQueueReport/whatsappQueueReport.attributes.js
new file mode 100644
index 0000000..67316a6
--- /dev/null
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.controller.js b/server/api/whatsappQueueReport/whatsappQueueReport.controller.js
new file mode 100644
index 0000000..3ba270c
--- /dev/null
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.model.js b/server/api/whatsappQueueReport/whatsappQueueReport.model.js
new file mode 100644
index 0000000..048df43
--- /dev/null
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.rpc.js b/server/api/whatsappQueueReport/whatsappQueueReport.rpc.js
new file mode 100644
index 0000000..ee4e508
--- /dev/null
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/index.js b/server/api/whatsappTransferReport/index.js
new file mode 100644
index 0000000..bdc2920
--- /dev/null
+++ b/server/api/whatsappTransferReport/index.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/whatsappTransferReport.attributes.js b/server/api/whatsappTransferReport/whatsappTransferReport.attributes.js
new file mode 100644
index 0000000..83e0c6f
--- /dev/null
+++ b/server/api/whatsappTransferReport/whatsappTransferReport.attributes.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/whatsappTransferReport.controller.js b/server/api/whatsappTransferReport/whatsappTransferReport.controller.js
new file mode 100644
index 0000000..2ad55ce
--- /dev/null
+++ b/server/api/whatsappTransferReport/whatsappTransferReport.controller.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/whatsappTransferReport.model.js b/server/api/whatsappTransferReport/whatsappTransferReport.model.js
new file mode 100644
index 0000000..209ef47
--- /dev/null
+++ b/server/api/whatsappTransferReport/whatsappTransferReport.model.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/whatsappTransferReport.rpc.js b/server/api/whatsappTransferReport/whatsappTransferReport.rpc.js
new file mode 100644
index 0000000..dbd9854
--- /dev/null
+++ b/server/api/whatsappTransferReport/whatsappTransferReport.rpc.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/app.js b/server/app.js
index a83c1ad..44e32d7 100644
--- a/server/app.js
+++ b/server/app.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/auth/service.js b/server/components/auth/service.js
index 129c7df..4b0287a 100644
--- a/server/components/auth/service.js
+++ b/server/components/auth/service.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/encryptor/index.js b/server/components/encryptor/index.js
index 5b7e5f3..cdc15eb 100644
--- a/server/components/encryptor/index.js
+++ b/server/components/encryptor/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/csv.js b/server/components/export/csv.js
index 6032b6a..49fba62 100644
--- a/server/components/export/csv.js
+++ b/server/components/export/csv.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/pdf.js b/server/components/export/pdf.js
index 8efbdd1..d6f50aa 100644
--- a/server/components/export/pdf.js
+++ b/server/components/export/pdf.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/xlsx.js b/server/components/export/xlsx.js
index aa886a2..d155f92 100644
--- a/server/components/export/xlsx.js
+++ b/server/components/export/xlsx.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/extensions/rewrite.js b/server/components/extensions/rewrite.js
index 2b67003..bb14a91 100644
--- a/server/components/extensions/rewrite.js
+++ b/server/components/extensions/rewrite.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/import/cm/csv.js b/server/components/import/cm/csv.js
index 75e28b9..355315b 100644
--- a/server/components/import/cm/csv.js
+++ b/server/components/import/cm/csv.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/import/cm/csv2.js b/server/components/import/cm/csv2.js
index ba271dd..7e3b739 100644
--- a/server/components/import/cm/csv2.js
+++ b/server/components/import/cm/csv2.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/integrations/configuration.js b/server/components/integrations/configuration.js
index 7a6d96c..06b68d3 100644
--- a/server/components/integrations/configuration.js
+++ b/server/components/integrations/configuration.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/interaction/service.js b/server/components/interaction/service.js
index fc47b03..4274c6c 100644
--- a/server/components/interaction/service.js
+++ b/server/components/interaction/service.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/license/service.js b/server/components/license/service.js
index 949815f..d4b8529 100644
--- a/server/components/license/service.js
+++ b/server/components/license/service.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/parsers/advancedSearch.js b/server/components/parsers/advancedSearch.js
index c2a67ab..1a5fc92 100644
--- a/server/components/parsers/advancedSearch.js
+++ b/server/components/parsers/advancedSearch.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/parsers/qs.js b/server/components/parsers/qs.js
index 5c6ddba..be60855 100644
--- a/server/components/parsers/qs.js
+++ b/server/components/parsers/qs.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/express.js b/server/config/express.js
index f47e5db..73c2f91 100644
--- a/server/config/express.js
+++ b/server/config/express.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/hardware.js b/server/config/license/hardware.js
index 25d0164..76c8aa6 100644
--- a/server/config/license/hardware.js
+++ b/server/config/license/hardware.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/index.js b/server/config/license/index.js
index 546be43..623a09f 100644
--- a/server/config/license/index.js
+++ b/server/config/license/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/util.js b/server/config/license/util.js
index 6cff25c..6a8f276 100644
--- a/server/config/license/util.js
+++ b/server/config/license/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/local.env.js b/server/config/local.env.js
index 2c86594..453599b 100644
--- a/server/config/local.env.js
+++ b/server/config/local.env.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/logger.js b/server/config/logger.js
index 39b657e..65e2507 100644
--- a/server/config/logger.js
+++ b/server/config/logger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/pm2/config.js b/server/config/pm2/config.js
index a00169f..8026c68 100644
--- a/server/config/pm2/config.js
+++ b/server/config/pm2/config.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/pm2/index.js b/server/config/pm2/index.js
index c7a54aa..396b2ee 100644
--- a/server/config/pm2/index.js
+++ b/server/config/pm2/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/chat.js b/server/config/schedule/chat.js
index 6ac7c3a..9db7b7c 100644
--- a/server/config/schedule/chat.js
+++ b/server/config/schedule/chat.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/index.js b/server/config/schedule/index.js
index 99c55aa..162ca94 100644
--- a/server/config/schedule/index.js
+++ b/server/config/schedule/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/transcribe.js b/server/config/schedule/transcribe.js
new file mode 100644
index 0000000..75e3626
--- /dev/null
+++ b/server/config/schedule/transcribe.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/config/seedContact.js b/server/config/seedContact.js
index 530d673..2666509 100644
--- a/server/config/seedContact.js
+++ b/server/config/seedContact.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedUsers.js b/server/config/seedUsers.js
index f1e94c4..f53ec48 100644
--- a/server/config/seedUsers.js
+++ b/server/config/seedUsers.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/socketio.js b/server/config/socketio.js
index e9b078b..c7d9627 100644
--- a/server/config/socketio.js
+++ b/server/config/socketio.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/triggers/index.js b/server/config/triggers/index.js
index c1d36da..b587046 100644
--- a/server/config/triggers/index.js
+++ b/server/config/triggers/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/utils.js b/server/config/utils.js
index 4bb8e22..1d711a4 100644
--- a/server/config/utils.js
+++ b/server/config/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/errors/index.js b/server/errors/index.js
index f61a2b3..6979689 100644
--- a/server/errors/index.js
+++ b/server/errors/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/files/attachments/1598272067460-Auto Generated Inline Image 1 b/server/files/attachments/1598272067460-Auto Generated Inline Image 1
new file mode 100644
index 0000000..6f68a64
Binary files /dev/null and b/server/files/attachments/1598272067460-Auto Generated Inline Image 1 differ
diff --git a/server/files/attachments/1598272067646-Auto Generated Inline Image 1 b/server/files/attachments/1598272067646-Auto Generated Inline Image 1
new file mode 100644
index 0000000..6f68a64
Binary files /dev/null and b/server/files/attachments/1598272067646-Auto Generated Inline Image 1 differ
diff --git a/server/files/attachments/1598272068853-Captura de pantalla 2020-08-14 a las 15.53.25.png b/server/files/attachments/1598272068853-Captura de pantalla 2020-08-14 a las 15.53.25.png
new file mode 100644
index 0000000..183ee98
Binary files /dev/null and b/server/files/attachments/1598272068853-Captura de pantalla 2020-08-14 a las 15.53.25.png differ
diff --git a/server/files/attachments/1598272068853-Captura de pantalla 2020-08-14 a las 15.57.11.png b/server/files/attachments/1598272068853-Captura de pantalla 2020-08-14 a las 15.57.11.png
new file mode 100644
index 0000000..4d63c57
Binary files /dev/null and b/server/files/attachments/1598272068853-Captura de pantalla 2020-08-14 a las 15.57.11.png differ
diff --git a/server/files/attachments/1598360289779-Captura de pantalla 2020-08-25 a las 13.11.05.png b/server/files/attachments/1598360289779-Captura de pantalla 2020-08-25 a las 13.11.05.png
new file mode 100644
index 0000000..b687e06
Binary files /dev/null and b/server/files/attachments/1598360289779-Captura de pantalla 2020-08-25 a las 13.11.05.png differ
diff --git a/server/files/transcribes/README.md b/server/files/transcribes/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/server/migrations/2.4.21.js b/server/migrations/2.4.21.js
new file mode 100644
index 0000000..577b158
--- /dev/null
+++ b/server/migrations/2.4.21.js
@@ -0,0 +1,167 @@
+'use strict';
+
+var BPromise = require('bluebird');
+var util = require('util');
+
+var logger = require('../config/logger')('migration');
+
+var Sequence = function () {};
+
+Sequence.prototype.enqueue = function (fn) {
+	this.tail = this.tail ? this.tail.finally(fn) : fn();
+};
+
+var Migration = function (queryInterface) {
+	this.queryInterface = queryInterface;
+	this.sequence = new Sequence();
+};
+
+Migration.prototype.changeColumn = function (table, column, type) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.changeColumn(table, column, type)
+			.then(function () {
+				logger.info('Changed column %s in table %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.addColumn = function (table, column, type) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.addColumn(table, column, type)
+			.then(function () {
+				logger.info('Added column %s to %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.dropTable = function (table) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.dropTable(table, {
+				force: true
+			})
+			.then(function () {
+				logger.info('table dropped %s', table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.addIndex = function (table, column, options) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.addIndex(table, column, {
+				indexName: options.indexName,
+				indicesType: options.indicesType
+			})
+			.then(function () {
+				logger.info('addIndex %s %s %s [%s]', table, column.join(','), options.indexName, options.indicesType);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.removeIndex = function (table, indexName) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.removeIndex(table, indexName)
+			.then(function () {
+				logger.info('removeIndex %s %s', table, indexName);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.query = function (sql) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface.sequelize
+			.query(sql)
+			.then(function () {
+				logger.info('query %s', sql);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.removeColumn = function (table, column) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.removeColumn(table, column)
+			.then(function () {
+				logger.info('Removed column %s from %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(
+					util.inspect(err, {
+						showHidden: false,
+						depth: null
+					})
+				);
+			});
+	});
+};
+
+Migration.prototype.renameColumn = function (table, oldColumn, newColumn) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.renameColumn(table, oldColumn, newColumn)
+			.then(function () {
+				logger.info('Renamed column from %s to %s on %s', oldColumn, newColumn, table);
+			})
+			.catch(function (err) {
+				logger.info(
+					util.inspect(err, {
+						showHidden: false,
+						depth: null
+					})
+				);
+			});
+	});
+};
+
+Migration.prototype.final = function (resolve) {
+	this.sequence.enqueue(function () {
+		return resolve();
+	});
+};
+
+module.exports = {
+	up: function (queryInterface, Sequelize) {
+		return new BPromise(function (resolve) {
+			
+			var migration = new Migration(queryInterface);
+
+			// START FINAL
+			migration.final(resolve);
+			// END FINAL
+		});
+	},
+
+	down: function (queryInterface, Sequelize) {
+		// var migration = new Migration(queryInterface);
+	}
+};
\ No newline at end of file
diff --git a/server/migrations/2.5.1.js b/server/migrations/2.5.1.js
new file mode 100644
index 0000000..13013e3
--- /dev/null
+++ b/server/migrations/2.5.1.js
@@ -0,0 +1,167 @@
+'use strict';
+
+var BPromise = require('bluebird');
+var util = require('util');
+
+var logger = require('../config/logger')('migration');
+
+var Sequence = function () {};
+
+Sequence.prototype.enqueue = function (fn) {
+	this.tail = this.tail ? this.tail.finally(fn) : fn();
+};
+
+var Migration = function (queryInterface) {
+	this.queryInterface = queryInterface;
+	this.sequence = new Sequence();
+};
+
+Migration.prototype.changeColumn = function (table, column, type) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.changeColumn(table, column, type)
+			.then(function () {
+				logger.info('Changed column %s in table %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.addColumn = function (table, column, type) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.addColumn(table, column, type)
+			.then(function () {
+				logger.info('Added column %s to %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.dropTable = function (table) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.dropTable(table, {
+				force: true
+			})
+			.then(function () {
+				logger.info('table dropped %s', table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.addIndex = function (table, column, options) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.addIndex(table, column, {
+				indexName: options.indexName,
+				indicesType: options.indicesType
+			})
+			.then(function () {
+				logger.info('addIndex %s %s %s [%s]', table, column.join(','), options.indexName, options.indicesType);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.removeIndex = function (table, indexName) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.removeIndex(table, indexName)
+			.then(function () {
+				logger.info('removeIndex %s %s', table, indexName);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.query = function (sql) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface.sequelize
+			.query(sql)
+			.then(function () {
+				logger.info('query %s', sql);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.removeColumn = function (table, column) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.removeColumn(table, column)
+			.then(function () {
+				logger.info('Removed column %s from %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(
+					util.inspect(err, {
+						showHidden: false,
+						depth: null
+					})
+				);
+			});
+	});
+};
+
+Migration.prototype.renameColumn = function (table, oldColumn, newColumn) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.renameColumn(table, oldColumn, newColumn)
+			.then(function () {
+				logger.info('Renamed column from %s to %s on %s', oldColumn, newColumn, table);
+			})
+			.catch(function (err) {
+				logger.info(
+					util.inspect(err, {
+						showHidden: false,
+						depth: null
+					})
+				);
+			});
+	});
+};
+
+Migration.prototype.final = function (resolve) {
+	this.sequence.enqueue(function () {
+		return resolve();
+	});
+};
+
+module.exports = {
+	up: function (queryInterface, Sequelize) {
+		return new BPromise(function (resolve) {
+			
+			var migration = new Migration(queryInterface);	
+
+			// START FINAL
+			migration.final(resolve);
+			// END FINAL
+		});
+	},
+
+	down: function (queryInterface, Sequelize) {
+		// var migration = new Migration(queryInterface);
+	}
+};
\ No newline at end of file
diff --git a/server/migrations/2.5.2.js b/server/migrations/2.5.2.js
new file mode 100644
index 0000000..17894c1
--- /dev/null
+++ b/server/migrations/2.5.2.js
@@ -0,0 +1,184 @@
+'use strict';
+
+var BPromise = require('bluebird');
+var util = require('util');
+
+var logger = require('../config/logger')('migration');
+
+var Sequence = function () {};
+
+Sequence.prototype.enqueue = function (fn) {
+	this.tail = this.tail ? this.tail.finally(fn) : fn();
+};
+
+var Migration = function (queryInterface) {
+	this.queryInterface = queryInterface;
+	this.sequence = new Sequence();
+};
+
+Migration.prototype.changeColumn = function (table, column, type) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.changeColumn(table, column, type)
+			.then(function () {
+				logger.info('Changed column %s in table %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.addColumn = function (table, column, type) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.addColumn(table, column, type)
+			.then(function () {
+				logger.info('Added column %s to %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.dropTable = function (table) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.dropTable(table, {
+				force: true
+			})
+			.then(function () {
+				logger.info('table dropped %s', table);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.addIndex = function (table, column, options) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.addIndex(table, column, {
+				indexName: options.indexName,
+				indicesType: options.indicesType
+			})
+			.then(function () {
+				logger.info('addIndex %s %s %s [%s]', table, column.join(','), options.indexName, options.indicesType);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.removeIndex = function (table, indexName) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.removeIndex(table, indexName)
+			.then(function () {
+				logger.info('removeIndex %s %s', table, indexName);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.query = function (sql) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface.sequelize
+			.query(sql)
+			.then(function () {
+				logger.info('query %s', sql);
+			})
+			.catch(function (err) {
+				logger.info(JSON.stringify(err));
+			});
+	});
+};
+
+Migration.prototype.removeColumn = function (table, column) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.removeColumn(table, column)
+			.then(function () {
+				logger.info('Removed column %s from %s', column, table);
+			})
+			.catch(function (err) {
+				logger.info(
+					util.inspect(err, {
+						showHidden: false,
+						depth: null
+					})
+				);
+			});
+	});
+};
+
+Migration.prototype.renameColumn = function (table, oldColumn, newColumn) {
+	var _this = this;
+	this.sequence.enqueue(function () {
+		return _this.queryInterface
+			.renameColumn(table, oldColumn, newColumn)
+			.then(function () {
+				logger.info('Renamed column from %s to %s on %s', oldColumn, newColumn, table);
+			})
+			.catch(function (err) {
+				logger.info(
+					util.inspect(err, {
+						showHidden: false,
+						depth: null
+					})
+				);
+			});
+	});
+};
+
+Migration.prototype.final = function (resolve) {
+	this.sequence.enqueue(function () {
+		return resolve();
+	});
+};
+
+module.exports = {
+	up: function (queryInterface, Sequelize) {
+		return new BPromise(function (resolve) {
+			
+			var migration = new Migration(queryInterface);	
+
+			// START whatsapp
+			migration.query('ALTER TABLE whatsapp_accounts ENCRYPTION=\'Y\';');
+			migration.query('ALTER TABLE whatsapp_interactions ENCRYPTION=\'Y\';');
+			migration.query('ALTER TABLE whatsapp_messages ENCRYPTION=\'Y\';');
+			migration.query('ALTER TABLE report_whatsapp_queue ENCRYPTION=\'Y\';');
+			// END whatsapp
+
+			// START cloud_providers
+			migration.query('ALTER TABLE cloud_providers ENCRYPTION=\'Y\';');
+			// END cloud_providers
+
+			// START voice_extensions
+            migration.query('ALTER TABLE voice_extensions DROP FOREIGN KEY voice_extensions_ibfk_7');
+            migration.query('ALTER TABLE voice_extensions DROP INDEX voice_extensions_ibfk_7');
+            migration.query('ALTER TABLE voice_extensions ADD CONSTRAINT voice_extensions_ibfk_7 FOREIGN KEY (VoicePrefixId) REFERENCES voice_prefixes(id) ON UPDATE CASCADE ON DELETE CASCADE');
+            // END  voice_extensions
+
+			// START FINAL
+			migration.final(resolve);
+			// END FINAL
+		});
+	},
+
+	down: function (queryInterface, Sequelize) {
+		// var migration = new Migration(queryInterface);
+	}
+};
\ No newline at end of file
diff --git a/server/mysqldb/index.js b/server/mysqldb/index.js
index 0f82a0a..1969ff1 100644
--- a/server/mysqldb/index.js
+++ b/server/mysqldb/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/routes.js b/server/routes.js
index eff7d06..7f8ef55 100644
--- a/server/routes.js
+++ b/server/routes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/rpc/index.js b/server/rpc/index.js
index 7f588b9..5283270 100644
--- a/server/rpc/index.js
+++ b/server/rpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/channel.js b/server/services/agi/channel.js
index 9631f06..260d10e 100644
--- a/server/services/agi/channel.js
+++ b/server/services/agi/channel.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/error.js b/server/services/agi/error.js
index 5ed3be9..d312095 100644
--- a/server/services/agi/error.js
+++ b/server/services/agi/error.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/graph/index.js b/server/services/agi/graph/index.js
index 5d3b1b5..4fddc5e 100644
--- a/server/services/agi/graph/index.js
+++ b/server/services/agi/graph/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/index.js b/server/services/agi/index.js
index 3b96e9b..531efe8 100644
--- a/server/services/agi/index.js
+++ b/server/services/agi/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/mailRpc/index.js b/server/services/agi/mailRpc/index.js
index 3bd6350..2ca5cf3 100644
--- a/server/services/agi/mailRpc/index.js
+++ b/server/services/agi/mailRpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/reply.js b/server/services/agi/reply.js
index 8ccaa8c..80c441e 100644
--- a/server/services/agi/reply.js
+++ b/server/services/agi/reply.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/rpc/index.js b/server/services/agi/rpc/index.js
index de55538..cc33a77 100644
--- a/server/services/agi/rpc/index.js
+++ b/server/services/agi/rpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/index.js b/server/services/agi/scripts/aws/index.js
index 2f65bb9..8972268 100644
--- a/server/services/agi/scripts/aws/index.js
+++ b/server/services/agi/scripts/aws/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x2123=['exports','./polly','./lex'];(function(_0x5f4abc,_0x1692ac){var _0x3c29a6=function(_0x46309e){while(--_0x46309e){_0x5f4abc['push'](_0x5f4abc['shift']());}};_0x3c29a6(++_0x1692ac);}(_0x2123,0x190));var _0x3212=function(_0x49421c,_0x3c6a2c){_0x49421c=_0x49421c-0x0;var _0x3f54ae=_0x2123[_0x49421c];return _0x3f54ae;};var polly=require(_0x3212('0x0'));var lex=require(_0x3212('0x1'));module[_0x3212('0x2')]={'polly':polly,'lex':lex};
\ No newline at end of file
+var _0x207c=['./lex','exports'];(function(_0xee1ec9,_0x2f0599){var _0x102a53=function(_0x4e5f7f){while(--_0x4e5f7f){_0xee1ec9['push'](_0xee1ec9['shift']());}};_0x102a53(++_0x2f0599);}(_0x207c,0x1e8));var _0xc207=function(_0x28fe94,_0x120b9b){_0x28fe94=_0x28fe94-0x0;var _0x3560da=_0x207c[_0x28fe94];return _0x3560da;};var polly=require('./polly');var lex=require(_0xc207('0x0'));module[_0xc207('0x1')]={'polly':polly,'lex':lex};
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/lex/index.js b/server/services/agi/scripts/aws/lex/index.js
index f82be73..8ee7237 100644
--- a/server/services/agi/scripts/aws/lex/index.js
+++ b/server/services/agi/scripts/aws/lex/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/lex/lib/api.js b/server/services/agi/scripts/aws/lex/lib/api.js
index cf967ab..ace7cbc 100644
--- a/server/services/agi/scripts/aws/lex/lib/api.js
+++ b/server/services/agi/scripts/aws/lex/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/polly/index.js b/server/services/agi/scripts/aws/polly/index.js
index 0b4b2f2..22375ad 100644
--- a/server/services/agi/scripts/aws/polly/index.js
+++ b/server/services/agi/scripts/aws/polly/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/polly/lib/api.js b/server/services/agi/scripts/aws/polly/lib/api.js
index 129b7e9..bf35397 100644
--- a/server/services/agi/scripts/aws/polly/lib/api.js
+++ b/server/services/agi/scripts/aws/polly/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/asr/index.js b/server/services/agi/scripts/google/asr/index.js
index 7472442..7e8e04e 100644
--- a/server/services/agi/scripts/google/asr/index.js
+++ b/server/services/agi/scripts/google/asr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x403c=['./lib/api','exports'];(function(_0x5a154a,_0xabef7a){var _0x14ba71=function(_0x21e612){while(--_0x21e612){_0x5a154a['push'](_0x5a154a['shift']());}};_0x14ba71(++_0xabef7a);}(_0x403c,0x78));var _0xc403=function(_0x1eeb48,_0x126c7b){_0x1eeb48=_0x1eeb48-0x0;var _0x2a499f=_0x403c[_0x1eeb48];return _0x2a499f;};'use strict';var asr=require(_0xc403('0x0'));module[_0xc403('0x1')]=function(_0x397708,_0x336c41,_0x1f4e89,_0x41fb95){return asr(_0x397708,_0x336c41,_0x1f4e89);};
\ No newline at end of file
+var _0xdeb6=['exports','./lib/api'];(function(_0x2bded4,_0x5aa045){var _0x302c84=function(_0xe33874){while(--_0xe33874){_0x2bded4['push'](_0x2bded4['shift']());}};_0x302c84(++_0x5aa045);}(_0xdeb6,0x1cf));var _0x6deb=function(_0x2bca3e,_0x2baaf5){_0x2bca3e=_0x2bca3e-0x0;var _0x1177c5=_0xdeb6[_0x2bca3e];return _0x1177c5;};'use strict';var asr=require(_0x6deb('0x0'));module[_0x6deb('0x1')]=function(_0x176030,_0x3ac5c2,_0x5bbc23,_0x1e08f2){return asr(_0x176030,_0x3ac5c2,_0x5bbc23);};
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/asr/lib/api.js b/server/services/agi/scripts/google/asr/lib/api.js
index 002fc03..66eb9f3 100644
--- a/server/services/agi/scripts/google/asr/lib/api.js
+++ b/server/services/agi/scripts/google/asr/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/index.js b/server/services/agi/scripts/google/index.js
index 72ea415..600fbab 100644
--- a/server/services/agi/scripts/google/index.js
+++ b/server/services/agi/scripts/google/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xbd3a=['exports','./asr'];(function(_0x33b816,_0x2e05d4){var _0x52fef7=function(_0xa2b3eb){while(--_0xa2b3eb){_0x33b816['push'](_0x33b816['shift']());}};_0x52fef7(++_0x2e05d4);}(_0xbd3a,0xb9));var _0xabd3=function(_0x56b926,_0x14f730){_0x56b926=_0x56b926-0x0;var _0x4f963f=_0xbd3a[_0x56b926];return _0x4f963f;};var asr=require(_0xabd3('0x0'));module[_0xabd3('0x1')]={'asr':asr};
\ No newline at end of file
+var _0x4fc2=['exports','./asr'];(function(_0x51020b,_0x38c2c7){var _0x371e47=function(_0x2a538f){while(--_0x2a538f){_0x51020b['push'](_0x51020b['shift']());}};_0x371e47(++_0x38c2c7);}(_0x4fc2,0x111));var _0x24fc=function(_0x1cc325,_0x537298){_0x1cc325=_0x1cc325-0x0;var _0x33d644=_0x4fc2[_0x1cc325];return _0x33d644;};var asr=require(_0x24fc('0x0'));module[_0x24fc('0x1')]={'asr':asr};
\ No newline at end of file
diff --git a/server/services/agi/scripts/index.js b/server/services/agi/scripts/index.js
index 9ee4e90..c526948 100644
--- a/server/services/agi/scripts/index.js
+++ b/server/services/agi/scripts/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/sestek/index.js b/server/services/agi/scripts/sestek/index.js
index 4cebbca..da5f8ec 100644
--- a/server/services/agi/scripts/sestek/index.js
+++ b/server/services/agi/scripts/sestek/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xb069=['./nda','exports'];(function(_0x349c4f,_0x4f29dc){var _0x545b18=function(_0x2b5058){while(--_0x2b5058){_0x349c4f['push'](_0x349c4f['shift']());}};_0x545b18(++_0x4f29dc);}(_0xb069,0x1c2));var _0x9b06=function(_0x1d8806,_0x9630f8){_0x1d8806=_0x1d8806-0x0;var _0xaa535b=_0xb069[_0x1d8806];return _0xaa535b;};var nda=require(_0x9b06('0x0'));module[_0x9b06('0x1')]={'nda':nda};
\ No newline at end of file
+var _0xc031=['./nda'];(function(_0x53152c,_0x15fbf9){var _0x1e72e8=function(_0x1a93e5){while(--_0x1a93e5){_0x53152c['push'](_0x53152c['shift']());}};_0x1e72e8(++_0x15fbf9);}(_0xc031,0x163));var _0x1c03=function(_0x49d280,_0x33d68f){_0x49d280=_0x49d280-0x0;var _0x25274a=_0xc031[_0x49d280];return _0x25274a;};var nda=require(_0x1c03('0x0'));module['exports']={'nda':nda};
\ No newline at end of file
diff --git a/server/services/agi/scripts/sestek/nda/index.js b/server/services/agi/scripts/sestek/nda/index.js
index e158461..a4b0cc2 100644
--- a/server/services/agi/scripts/sestek/nda/index.js
+++ b/server/services/agi/scripts/sestek/nda/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/asr/index.js b/server/services/agi/scripts/tilde/asr/index.js
index 9cf19f2..019ecc2 100644
--- a/server/services/agi/scripts/tilde/asr/index.js
+++ b/server/services/agi/scripts/tilde/asr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x9279=['./lib/api'];(function(_0x13f138,_0x3eb594){var _0x34a02b=function(_0x434a4a){while(--_0x434a4a){_0x13f138['push'](_0x13f138['shift']());}};_0x34a02b(++_0x3eb594);}(_0x9279,0xb7));var _0x9927=function(_0x596f6e,_0x3f8857){_0x596f6e=_0x596f6e-0x0;var _0x1e0803=_0x9279[_0x596f6e];return _0x1e0803;};'use strict';var asr=require(_0x9927('0x0'));module['exports']=function(_0xe30cf,_0x5eb79b,_0x59b119,_0x3dfae3){return asr(_0xe30cf,_0x5eb79b,_0x59b119,_0x3dfae3);};
\ No newline at end of file
+var _0x2161=['exports'];(function(_0x5cb1a5,_0x13016f){var _0x533f56=function(_0x1e5a46){while(--_0x1e5a46){_0x5cb1a5['push'](_0x5cb1a5['shift']());}};_0x533f56(++_0x13016f);}(_0x2161,0xcf));var _0x1216=function(_0xe033e7,_0x561a6d){_0xe033e7=_0xe033e7-0x0;var _0x63031f=_0x2161[_0xe033e7];return _0x63031f;};'use strict';var asr=require('./lib/api');module[_0x1216('0x0')]=function(_0x4f2e6b,_0x7f4e51,_0x310d3e,_0x4448ce){return asr(_0x4f2e6b,_0x7f4e51,_0x310d3e,_0x4448ce);};
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/asr/lib/api.js b/server/services/agi/scripts/tilde/asr/lib/api.js
index 81f0c5f..33945d0 100644
--- a/server/services/agi/scripts/tilde/asr/lib/api.js
+++ b/server/services/agi/scripts/tilde/asr/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/index.js b/server/services/agi/scripts/tilde/index.js
index 4a82cad..10cb4be 100644
--- a/server/services/agi/scripts/tilde/index.js
+++ b/server/services/agi/scripts/tilde/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xf663=['exports'];(function(_0x6cca9f,_0x51a0f4){var _0x90c606=function(_0x50a2b6){while(--_0x50a2b6){_0x6cca9f['push'](_0x6cca9f['shift']());}};_0x90c606(++_0x51a0f4);}(_0xf663,0x1aa));var _0x3f66=function(_0x4215d6,_0x519e9a){_0x4215d6=_0x4215d6-0x0;var _0x3514f1=_0xf663[_0x4215d6];return _0x3514f1;};var asr=require('./asr');module[_0x3f66('0x0')]={'asr':asr};
\ No newline at end of file
+var asr=require('./asr');module['exports']={'asr':asr};
\ No newline at end of file
diff --git a/server/services/agi/server.js b/server/services/agi/server.js
index 6a91558..1d968d7 100644
--- a/server/services/agi/server.js
+++ b/server/services/agi/server.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/vertices.js b/server/services/agi/vertices.js
index 354aab8..4b69049 100644
--- a/server/services/agi/vertices.js
+++ b/server/services/agi/vertices.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/acw/index.js b/server/services/ami/acw/index.js
index e0eb3d6..43a1d05 100644
--- a/server/services/ami/acw/index.js
+++ b/server/services/ami/acw/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/ami.js b/server/services/ami/ami.js
index 8f7fd3f..91f7ff4 100644
--- a/server/services/ami/ami.js
+++ b/server/services/ami/ami.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/client.js b/server/services/ami/client.js
index 36d6128..ac9ed32 100644
--- a/server/services/ami/client.js
+++ b/server/services/ami/client.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/action.js b/server/services/ami/dialer/action.js
index 5cba579..0de3a8c 100644
--- a/server/services/ami/dialer/action.js
+++ b/server/services/ami/dialer/action.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/agentComplete.js b/server/services/ami/dialer/agentComplete.js
index e9bc39b..b94a625 100644
--- a/server/services/ami/dialer/agentComplete.js
+++ b/server/services/ami/dialer/agentComplete.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/final.js b/server/services/ami/dialer/final.js
index 60379cb..3597b6b 100644
--- a/server/services/ami/dialer/final.js
+++ b/server/services/ami/dialer/final.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/hangup.js b/server/services/ami/dialer/hangup.js
index a4f1930..a3f534f 100644
--- a/server/services/ami/dialer/hangup.js
+++ b/server/services/ami/dialer/hangup.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/history.js b/server/services/ami/dialer/history.js
index dee6d77..4e356f1 100644
--- a/server/services/ami/dialer/history.js
+++ b/server/services/ami/dialer/history.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/index.js b/server/services/ami/dialer/index.js
index b277eae..b54ad09 100644
--- a/server/services/ami/dialer/index.js
+++ b/server/services/ami/dialer/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/queueCallerAbandon.js b/server/services/ami/dialer/queueCallerAbandon.js
index 4971eee..cf24f79 100644
--- a/server/services/ami/dialer/queueCallerAbandon.js
+++ b/server/services/ami/dialer/queueCallerAbandon.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/action.js b/server/services/ami/fax/action.js
index faeeb76..a99372e 100644
--- a/server/services/ami/fax/action.js
+++ b/server/services/ami/fax/action.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/index.js b/server/services/ami/fax/index.js
index 49a9fdf..f573fbd 100644
--- a/server/services/ami/fax/index.js
+++ b/server/services/ami/fax/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/rpcDb.js b/server/services/ami/fax/rpcDb.js
index 3c93de3..f2a0ee9 100644
--- a/server/services/ami/fax/rpcDb.js
+++ b/server/services/ami/fax/rpcDb.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/util/gs.js b/server/services/ami/fax/util/gs.js
index 55824e5..52f9c31 100644
--- a/server/services/ami/fax/util/gs.js
+++ b/server/services/ami/fax/util/gs.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/util/util.js b/server/services/ami/fax/util/util.js
index 0b47bd6..256bc5f 100644
--- a/server/services/ami/fax/util/util.js
+++ b/server/services/ami/fax/util/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/index.js b/server/services/ami/index.js
index fe2f879..9e7bcdd 100644
--- a/server/services/ami/index.js
+++ b/server/services/ami/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/agent.js b/server/services/ami/model/agent.js
index f995e64..1a4d1af 100644
--- a/server/services/ami/model/agent.js
+++ b/server/services/ami/model/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/campaign.js b/server/services/ami/model/campaign.js
index 092c6f2..bbefa6a 100644
--- a/server/services/ami/model/campaign.js
+++ b/server/services/ami/model/campaign.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/channel.js b/server/services/ami/model/channel.js
index 1581344..363802f 100644
--- a/server/services/ami/model/channel.js
+++ b/server/services/ami/model/channel.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/deskAccount.js b/server/services/ami/model/deskAccount.js
index 560c017..5cfe36e 100644
--- a/server/services/ami/model/deskAccount.js
+++ b/server/services/ami/model/deskAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/dynamics365Account.js b/server/services/ami/model/dynamics365Account.js
index 42b74d7..928bc6d 100644
--- a/server/services/ami/model/dynamics365Account.js
+++ b/server/services/ami/model/dynamics365Account.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/faxAccount.js b/server/services/ami/model/faxAccount.js
index 6fdfe28..9368b64 100644
--- a/server/services/ami/model/faxAccount.js
+++ b/server/services/ami/model/faxAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/freshdeskAccount.js b/server/services/ami/model/freshdeskAccount.js
index 7500adc..282d0e5 100644
--- a/server/services/ami/model/freshdeskAccount.js
+++ b/server/services/ami/model/freshdeskAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/freshsalesAccount.js b/server/services/ami/model/freshsalesAccount.js
index f897c2d..26575a5 100644
--- a/server/services/ami/model/freshsalesAccount.js
+++ b/server/services/ami/model/freshsalesAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/queueReport.js b/server/services/ami/model/queueReport.js
index 8d921fb..d77de41 100644
--- a/server/services/ami/model/queueReport.js
+++ b/server/services/ami/model/queueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/salesforceAccount.js b/server/services/ami/model/salesforceAccount.js
index 329bbbb..02579eb 100644
--- a/server/services/ami/model/salesforceAccount.js
+++ b/server/services/ami/model/salesforceAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/servicenowAccount.js b/server/services/ami/model/servicenowAccount.js
index a3895db..a663737 100644
--- a/server/services/ami/model/servicenowAccount.js
+++ b/server/services/ami/model/servicenowAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/sugarcrmAccount.js b/server/services/ami/model/sugarcrmAccount.js
index 8d336df..4035adc 100644
--- a/server/services/ami/model/sugarcrmAccount.js
+++ b/server/services/ami/model/sugarcrmAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/telephone.js b/server/services/ami/model/telephone.js
index 0d04def..7d75bb7 100644
--- a/server/services/ami/model/telephone.js
+++ b/server/services/ami/model/telephone.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/template.js b/server/services/ami/model/template.js
index 069a839..0ff093a 100644
--- a/server/services/ami/model/template.js
+++ b/server/services/ami/model/template.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/trigger.js b/server/services/ami/model/trigger.js
index f957f6e..50a485f 100644
--- a/server/services/ami/model/trigger.js
+++ b/server/services/ami/model/trigger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/trunk.js b/server/services/ami/model/trunk.js
index 53d6c61..5e96813 100644
--- a/server/services/ami/model/trunk.js
+++ b/server/services/ami/model/trunk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/voiceExtension.js b/server/services/ami/model/voiceExtension.js
index a385138..874b041 100644
--- a/server/services/ami/model/voiceExtension.js
+++ b/server/services/ami/model/voiceExtension.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/voiceQueue.js b/server/services/ami/model/voiceQueue.js
index 37362c8..753bc65 100644
--- a/server/services/ami/model/voiceQueue.js
+++ b/server/services/ami/model/voiceQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/vtigerAccount.js b/server/services/ami/model/vtigerAccount.js
index 6551f43..f14a85b 100644
--- a/server/services/ami/model/vtigerAccount.js
+++ b/server/services/ami/model/vtigerAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/zendeskAccount.js b/server/services/ami/model/zendeskAccount.js
index e634934..cd33b0a 100644
--- a/server/services/ami/model/zendeskAccount.js
+++ b/server/services/ami/model/zendeskAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/zohoAccount.js b/server/services/ami/model/zohoAccount.js
index cd7f582..8a17de9 100644
--- a/server/services/ami/model/zohoAccount.js
+++ b/server/services/ami/model/zohoAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/action.js b/server/services/ami/preview/action.js
index 3a0f456..99d9800 100644
--- a/server/services/ami/preview/action.js
+++ b/server/services/ami/preview/action.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/index.js b/server/services/ami/preview/index.js
index 16f002f..55ba3e1 100644
--- a/server/services/ami/preview/index.js
+++ b/server/services/ami/preview/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/rpcDb.js b/server/services/ami/preview/rpcDb.js
index f132a9a..c374120 100644
--- a/server/services/ami/preview/rpcDb.js
+++ b/server/services/ami/preview/rpcDb.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/util/util.js b/server/services/ami/preview/util/util.js
index cc41008..d4c832f 100644
--- a/server/services/ami/preview/util/util.js
+++ b/server/services/ami/preview/util/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/properties.js b/server/services/ami/properties.js
index 0aa37a8..eaf1ff0 100644
--- a/server/services/ami/properties.js
+++ b/server/services/ami/properties.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/realtime/index.js b/server/services/ami/realtime/index.js
index a262322..485d92f 100644
--- a/server/services/ami/realtime/index.js
+++ b/server/services/ami/realtime/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/index.js b/server/services/ami/report/index.js
index 3745ac7..b8d8ab6 100644
--- a/server/services/ami/report/index.js
+++ b/server/services/ami/report/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/userReport.js b/server/services/ami/report/userReport.js
index eff9437..4ba77c7 100644
--- a/server/services/ami/report/userReport.js
+++ b/server/services/ami/report/userReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceAgentReport.js b/server/services/ami/report/voiceAgentReport.js
index 0aa6250..cd2246a 100644
--- a/server/services/ami/report/voiceAgentReport.js
+++ b/server/services/ami/report/voiceAgentReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceCallReport.js b/server/services/ami/report/voiceCallReport.js
index 918ac5f..9778cf7 100644
--- a/server/services/ami/report/voiceCallReport.js
+++ b/server/services/ami/report/voiceCallReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceDialReport.js b/server/services/ami/report/voiceDialReport.js
index 52dec5f..ff85d2a 100644
--- a/server/services/ami/report/voiceDialReport.js
+++ b/server/services/ami/report/voiceDialReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceQueueReport.js b/server/services/ami/report/voiceQueueReport.js
index 4fd839f..5034646 100644
--- a/server/services/ami/report/voiceQueueReport.js
+++ b/server/services/ami/report/voiceQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/agentReportPreview.js b/server/services/ami/rpc/agentReportPreview.js
index 4711989..f9c62f0 100644
--- a/server/services/ami/rpc/agentReportPreview.js
+++ b/server/services/ami/rpc/agentReportPreview.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/attachment.js b/server/services/ami/rpc/attachment.js
index a9da710..6e5d2ad 100644
--- a/server/services/ami/rpc/attachment.js
+++ b/server/services/ami/rpc/attachment.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/campaign.js b/server/services/ami/rpc/campaign.js
index 16b761e..207d082 100644
--- a/server/services/ami/rpc/campaign.js
+++ b/server/services/ami/rpc/campaign.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmContact.js b/server/services/ami/rpc/cmContact.js
index 5e55fe9..178cc4b 100644
--- a/server/services/ami/rpc/cmContact.js
+++ b/server/services/ami/rpc/cmContact.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopper.js b/server/services/ami/rpc/cmHopper.js
index ae5e534..d4ceae9 100644
--- a/server/services/ami/rpc/cmHopper.js
+++ b/server/services/ami/rpc/cmHopper.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperBlack.js b/server/services/ami/rpc/cmHopperBlack.js
index 2a78c46..e0c6696 100644
--- a/server/services/ami/rpc/cmHopperBlack.js
+++ b/server/services/ami/rpc/cmHopperBlack.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperFinal.js b/server/services/ami/rpc/cmHopperFinal.js
index 3d7f62c..948c2ad 100644
--- a/server/services/ami/rpc/cmHopperFinal.js
+++ b/server/services/ami/rpc/cmHopperFinal.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperHistory.js b/server/services/ami/rpc/cmHopperHistory.js
index 7a29f79..1d73c4a 100644
--- a/server/services/ami/rpc/cmHopperHistory.js
+++ b/server/services/ami/rpc/cmHopperHistory.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/faxAccount.js b/server/services/ami/rpc/faxAccount.js
index 9f33d98..f061572 100644
--- a/server/services/ami/rpc/faxAccount.js
+++ b/server/services/ami/rpc/faxAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/faxMessage.js b/server/services/ami/rpc/faxMessage.js
index 7088d3b..3e6a6d0 100644
--- a/server/services/ami/rpc/faxMessage.js
+++ b/server/services/ami/rpc/faxMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/desk.js b/server/services/ami/rpc/integrations/desk.js
index d174dd9..23277b6 100644
--- a/server/services/ami/rpc/integrations/desk.js
+++ b/server/services/ami/rpc/integrations/desk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/dynamics365.js b/server/services/ami/rpc/integrations/dynamics365.js
index 32a509e..35b1160 100644
--- a/server/services/ami/rpc/integrations/dynamics365.js
+++ b/server/services/ami/rpc/integrations/dynamics365.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/freshdesk.js b/server/services/ami/rpc/integrations/freshdesk.js
index fb8e376..0eec12b 100644
--- a/server/services/ami/rpc/integrations/freshdesk.js
+++ b/server/services/ami/rpc/integrations/freshdesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/freshsales.js b/server/services/ami/rpc/integrations/freshsales.js
index f7bec0b..06804f0 100644
--- a/server/services/ami/rpc/integrations/freshsales.js
+++ b/server/services/ami/rpc/integrations/freshsales.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/salesforce.js b/server/services/ami/rpc/integrations/salesforce.js
index 423501f..f93a2de 100644
--- a/server/services/ami/rpc/integrations/salesforce.js
+++ b/server/services/ami/rpc/integrations/salesforce.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/servicenow.js b/server/services/ami/rpc/integrations/servicenow.js
index 820a41e..fce057d 100644
--- a/server/services/ami/rpc/integrations/servicenow.js
+++ b/server/services/ami/rpc/integrations/servicenow.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/sugarcrm.js b/server/services/ami/rpc/integrations/sugarcrm.js
index 8f516b4..a21eb7c 100644
--- a/server/services/ami/rpc/integrations/sugarcrm.js
+++ b/server/services/ami/rpc/integrations/sugarcrm.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/vtiger.js b/server/services/ami/rpc/integrations/vtiger.js
index f0004b5..3b61f49 100644
--- a/server/services/ami/rpc/integrations/vtiger.js
+++ b/server/services/ami/rpc/integrations/vtiger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/zendesk.js b/server/services/ami/rpc/integrations/zendesk.js
index 2226921..30af981 100644
--- a/server/services/ami/rpc/integrations/zendesk.js
+++ b/server/services/ami/rpc/integrations/zendesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/zoho.js b/server/services/ami/rpc/integrations/zoho.js
index ef340f9..430a7b2 100644
--- a/server/services/ami/rpc/integrations/zoho.js
+++ b/server/services/ami/rpc/integrations/zoho.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/memberReport.js b/server/services/ami/rpc/memberReport.js
index 3912e19..41e9445 100644
--- a/server/services/ami/rpc/memberReport.js
+++ b/server/services/ami/rpc/memberReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/template.js b/server/services/ami/rpc/template.js
index f60b609..9a00a11 100644
--- a/server/services/ami/rpc/template.js
+++ b/server/services/ami/rpc/template.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/trigger.js b/server/services/ami/rpc/trigger.js
index c073bb3..97594d9 100644
--- a/server/services/ami/rpc/trigger.js
+++ b/server/services/ami/rpc/trigger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/trunk.js b/server/services/ami/rpc/trunk.js
index ade5329..4aeb8ce 100644
--- a/server/services/ami/rpc/trunk.js
+++ b/server/services/ami/rpc/trunk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/user.js b/server/services/ami/rpc/user.js
index 6c2cdc9..bb596ab 100644
--- a/server/services/ami/rpc/user.js
+++ b/server/services/ami/rpc/user.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceAgentReport.js b/server/services/ami/rpc/voiceAgentReport.js
index 7bc5e19..fe156e6 100644
--- a/server/services/ami/rpc/voiceAgentReport.js
+++ b/server/services/ami/rpc/voiceAgentReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceCallReport.js b/server/services/ami/rpc/voiceCallReport.js
index 09749e9..f736a38 100644
--- a/server/services/ami/rpc/voiceCallReport.js
+++ b/server/services/ami/rpc/voiceCallReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceDialReport.js b/server/services/ami/rpc/voiceDialReport.js
index 0e1bcfe..5507b26 100644
--- a/server/services/ami/rpc/voiceDialReport.js
+++ b/server/services/ami/rpc/voiceDialReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceExtension.js b/server/services/ami/rpc/voiceExtension.js
index c365d0c..e584b43 100644
--- a/server/services/ami/rpc/voiceExtension.js
+++ b/server/services/ami/rpc/voiceExtension.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueue.js b/server/services/ami/rpc/voiceQueue.js
index 252322e..3b628ca 100644
--- a/server/services/ami/rpc/voiceQueue.js
+++ b/server/services/ami/rpc/voiceQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueueReport.js b/server/services/ami/rpc/voiceQueueReport.js
index fee1f25..82171cb 100644
--- a/server/services/ami/rpc/voiceQueueReport.js
+++ b/server/services/ami/rpc/voiceQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueueRt.js b/server/services/ami/rpc/voiceQueueRt.js
index d032b58..757b290 100644
--- a/server/services/ami/rpc/voiceQueueRt.js
+++ b/server/services/ami/rpc/voiceQueueRt.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceRecording.js b/server/services/ami/rpc/voiceRecording.js
index c48a02c..2cf6c6e 100644
--- a/server/services/ami/rpc/voiceRecording.js
+++ b/server/services/ami/rpc/voiceRecording.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceTransferReport.js b/server/services/ami/rpc/voiceTransferReport.js
index 1433730..4ad5cc6 100644
--- a/server/services/ami/rpc/voiceTransferReport.js
+++ b/server/services/ami/rpc/voiceTransferReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/server/index.js b/server/services/ami/server/index.js
index 8fcf2eb..f4437e0 100644
--- a/server/services/ami/server/index.js
+++ b/server/services/ami/server/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/cmContact/index.js b/server/services/ami/trigger/cmContact/index.js
index 1358397..2f23044 100644
--- a/server/services/ami/trigger/cmContact/index.js
+++ b/server/services/ami/trigger/cmContact/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/index.js b/server/services/ami/trigger/index.js
index 1e38fdd..a16d09f 100644
--- a/server/services/ami/trigger/index.js
+++ b/server/services/ami/trigger/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/desk.js b/server/services/ami/trigger/integration/desk.js
index 93c0c82..3ad6f8c 100644
--- a/server/services/ami/trigger/integration/desk.js
+++ b/server/services/ami/trigger/integration/desk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/dynamics365.js b/server/services/ami/trigger/integration/dynamics365.js
index 1c97c84..f77919d 100644
--- a/server/services/ami/trigger/integration/dynamics365.js
+++ b/server/services/ami/trigger/integration/dynamics365.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/freshdesk.js b/server/services/ami/trigger/integration/freshdesk.js
index 48912f4..8d1c726 100644
--- a/server/services/ami/trigger/integration/freshdesk.js
+++ b/server/services/ami/trigger/integration/freshdesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/freshsales.js b/server/services/ami/trigger/integration/freshsales.js
index 3acf0c3..91f002a 100644
--- a/server/services/ami/trigger/integration/freshsales.js
+++ b/server/services/ami/trigger/integration/freshsales.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/index.js b/server/services/ami/trigger/integration/index.js
index 90964fa..bb5b29f 100644
--- a/server/services/ami/trigger/integration/index.js
+++ b/server/services/ami/trigger/integration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/salesforce.js b/server/services/ami/trigger/integration/salesforce.js
index 7fb4db7..75a9969 100644
--- a/server/services/ami/trigger/integration/salesforce.js
+++ b/server/services/ami/trigger/integration/salesforce.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/servicenow.js b/server/services/ami/trigger/integration/servicenow.js
index 2cab33b..5cc48ae 100644
--- a/server/services/ami/trigger/integration/servicenow.js
+++ b/server/services/ami/trigger/integration/servicenow.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/sugarcrm.js b/server/services/ami/trigger/integration/sugarcrm.js
index 361fa8a..8833623 100644
--- a/server/services/ami/trigger/integration/sugarcrm.js
+++ b/server/services/ami/trigger/integration/sugarcrm.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/util.js b/server/services/ami/trigger/integration/util.js
index 932c9c0..536adc1 100644
--- a/server/services/ami/trigger/integration/util.js
+++ b/server/services/ami/trigger/integration/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/vtiger.js b/server/services/ami/trigger/integration/vtiger.js
index f35e451..00bb2f6 100644
--- a/server/services/ami/trigger/integration/vtiger.js
+++ b/server/services/ami/trigger/integration/vtiger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/zendesk.js b/server/services/ami/trigger/integration/zendesk.js
index c3b3fca..ddcbb76 100644
--- a/server/services/ami/trigger/integration/zendesk.js
+++ b/server/services/ami/trigger/integration/zendesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/zoho.js b/server/services/ami/trigger/integration/zoho.js
index 1f23404..4365f07 100644
--- a/server/services/ami/trigger/integration/zoho.js
+++ b/server/services/ami/trigger/integration/zoho.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/script/index.js b/server/services/ami/trigger/script/index.js
index 44aaa21..76b06e6 100644
--- a/server/services/ami/trigger/script/index.js
+++ b/server/services/ami/trigger/script/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/urlforward/index.js b/server/services/ami/trigger/urlforward/index.js
index a5c4592..aede252 100644
--- a/server/services/ami/trigger/urlforward/index.js
+++ b/server/services/ami/trigger/urlforward/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/client.js b/server/services/email/client.js
index 4671dd1..04f8abf 100644
--- a/server/services/email/client.js
+++ b/server/services/email/client.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/index.js b/server/services/email/index.js
index c7f04ac..07c4aad 100644
--- a/server/services/email/index.js
+++ b/server/services/email/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/email.js b/server/services/email/lib/email.js
index 90590ee..484a2e4 100644
--- a/server/services/email/lib/email.js
+++ b/server/services/email/lib/email.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/imap.js b/server/services/email/lib/imap.js
index 5a9391e..c4d0caf 100644
--- a/server/services/email/lib/imap.js
+++ b/server/services/email/lib/imap.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/smtp.js b/server/services/email/lib/smtp.js
index 8bbc138..c508cb3 100644
--- a/server/services/email/lib/smtp.js
+++ b/server/services/email/lib/smtp.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/utils.js b/server/services/email/lib/utils.js
index fd009fc..2c04cc3 100644
--- a/server/services/email/lib/utils.js
+++ b/server/services/email/lib/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/model/mailAccount.js b/server/services/email/model/mailAccount.js
index de8da5c..4da4e27 100644
--- a/server/services/email/model/mailAccount.js
+++ b/server/services/email/model/mailAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/realtime/index.js b/server/services/email/realtime/index.js
index f5aff22..6c091fa 100644
--- a/server/services/email/realtime/index.js
+++ b/server/services/email/realtime/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/rpc/mailAccount.js b/server/services/email/rpc/mailAccount.js
index c1a9507..cc6eb1f 100644
--- a/server/services/email/rpc/mailAccount.js
+++ b/server/services/email/rpc/mailAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/server/index.js b/server/services/email/server/index.js
index 58ddc77..77b0ac5 100644
--- a/server/services/email/server/index.js
+++ b/server/services/email/server/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/express/index.js b/server/services/express/index.js
index 18e5f20..ade00aa 100644
--- a/server/services/express/index.js
+++ b/server/services/express/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/client.js b/server/services/routing/client.js
index 1d92479..1d435ba 100644
--- a/server/services/routing/client.js
+++ b/server/services/routing/client.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/index.js b/server/services/routing/index.js
index 7815a0a..6e7d9f7 100644
--- a/server/services/routing/index.js
+++ b/server/services/routing/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/lib/rule-engine.js b/server/services/routing/lib/rule-engine.js
index cb2bee6..e133a6e 100644
--- a/server/services/routing/lib/rule-engine.js
+++ b/server/services/routing/lib/rule-engine.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/mailRpc/index.js b/server/services/routing/mailRpc/index.js
index aa74e88..e07e5eb 100644
--- a/server/services/routing/mailRpc/index.js
+++ b/server/services/routing/mailRpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/agent.js b/server/services/routing/model/agent.js
index 6e83fb5..c2432d7 100644
--- a/server/services/routing/model/agent.js
+++ b/server/services/routing/model/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/chatQueue.js b/server/services/routing/model/chatQueue.js
index 5e81b09..6d329f6 100644
--- a/server/services/routing/model/chatQueue.js
+++ b/server/services/routing/model/chatQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/faxQueue.js b/server/services/routing/model/faxQueue.js
index 6ad1d0f..55f35e4 100644
--- a/server/services/routing/model/faxQueue.js
+++ b/server/services/routing/model/faxQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/interval.js b/server/services/routing/model/interval.js
index 9c8da9e..6e5f53e 100644
--- a/server/services/routing/model/interval.js
+++ b/server/services/routing/model/interval.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/mailQueue.js b/server/services/routing/model/mailQueue.js
index c67f480..f6484ea 100644
--- a/server/services/routing/model/mailQueue.js
+++ b/server/services/routing/model/mailQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/openchannelQueue.js b/server/services/routing/model/openchannelQueue.js
index 4e7b8a8..61b1d8a 100644
--- a/server/services/routing/model/openchannelQueue.js
+++ b/server/services/routing/model/openchannelQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/smsQueue.js b/server/services/routing/model/smsQueue.js
index c8f176f..62c9be8 100644
--- a/server/services/routing/model/smsQueue.js
+++ b/server/services/routing/model/smsQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/whatsappQueue.js b/server/services/routing/model/whatsappQueue.js
new file mode 100644
index 0000000..f01c31f
--- /dev/null
+++ b/server/services/routing/model/whatsappQueue.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/services/routing/realtime/index.js b/server/services/routing/realtime/index.js
index c526c37..9a3ce15 100644
--- a/server/services/routing/realtime/index.js
+++ b/server/services/routing/realtime/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatInteraction.js b/server/services/routing/rpc/chatInteraction.js
index 06e2a94..1e0ffa1 100644
--- a/server/services/routing/rpc/chatInteraction.js
+++ b/server/services/routing/rpc/chatInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatMessage.js b/server/services/routing/rpc/chatMessage.js
index 9c8500a..45203e7 100644
--- a/server/services/routing/rpc/chatMessage.js
+++ b/server/services/routing/rpc/chatMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatQueue.js b/server/services/routing/rpc/chatQueue.js
index 619e82f..628fa55 100644
--- a/server/services/routing/rpc/chatQueue.js
+++ b/server/services/routing/rpc/chatQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatQueueReport.js b/server/services/routing/rpc/chatQueueReport.js
index 5b3222f..add86ec 100644
--- a/server/services/routing/rpc/chatQueueReport.js
+++ b/server/services/routing/rpc/chatQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxInteraction.js b/server/services/routing/rpc/faxInteraction.js
index 4e2d651..6dfdedb 100644
--- a/server/services/routing/rpc/faxInteraction.js
+++ b/server/services/routing/rpc/faxInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxMessage.js b/server/services/routing/rpc/faxMessage.js
index c1c0b2d..84a4811 100644
--- a/server/services/routing/rpc/faxMessage.js
+++ b/server/services/routing/rpc/faxMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxQueue.js b/server/services/routing/rpc/faxQueue.js
index 4f3b958..2c7fde5 100644
--- a/server/services/routing/rpc/faxQueue.js
+++ b/server/services/routing/rpc/faxQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxQueueReport.js b/server/services/routing/rpc/faxQueueReport.js
index a8e790c..586e591 100644
--- a/server/services/routing/rpc/faxQueueReport.js
+++ b/server/services/routing/rpc/faxQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/interval.js b/server/services/routing/rpc/interval.js
index 5845209..d508afe 100644
--- a/server/services/routing/rpc/interval.js
+++ b/server/services/routing/rpc/interval.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailInteraction.js b/server/services/routing/rpc/mailInteraction.js
index f8bed18..1f23582 100644
--- a/server/services/routing/rpc/mailInteraction.js
+++ b/server/services/routing/rpc/mailInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailMessage.js b/server/services/routing/rpc/mailMessage.js
index b0c6bd4..e6002e1 100644
--- a/server/services/routing/rpc/mailMessage.js
+++ b/server/services/routing/rpc/mailMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailQueue.js b/server/services/routing/rpc/mailQueue.js
index 0ce8c86..b167934 100644
--- a/server/services/routing/rpc/mailQueue.js
+++ b/server/services/routing/rpc/mailQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailQueueReport.js b/server/services/routing/rpc/mailQueueReport.js
index c004755..a4b2cfc 100644
--- a/server/services/routing/rpc/mailQueueReport.js
+++ b/server/services/routing/rpc/mailQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelInteraction.js b/server/services/routing/rpc/openchannelInteraction.js
index 80db5b3..3b1db7a 100644
--- a/server/services/routing/rpc/openchannelInteraction.js
+++ b/server/services/routing/rpc/openchannelInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelMessage.js b/server/services/routing/rpc/openchannelMessage.js
index 049659a..a989d4c 100644
--- a/server/services/routing/rpc/openchannelMessage.js
+++ b/server/services/routing/rpc/openchannelMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelQueue.js b/server/services/routing/rpc/openchannelQueue.js
index 6f8b1b3..ead0811 100644
--- a/server/services/routing/rpc/openchannelQueue.js
+++ b/server/services/routing/rpc/openchannelQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelQueueReport.js b/server/services/routing/rpc/openchannelQueueReport.js
index 4fbcf1b..4652bfc 100644
--- a/server/services/routing/rpc/openchannelQueueReport.js
+++ b/server/services/routing/rpc/openchannelQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsInteraction.js b/server/services/routing/rpc/smsInteraction.js
index 5c54a0d..b4bf8f9 100644
--- a/server/services/routing/rpc/smsInteraction.js
+++ b/server/services/routing/rpc/smsInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsMessage.js b/server/services/routing/rpc/smsMessage.js
index 5e1a5f2..f17865d 100644
--- a/server/services/routing/rpc/smsMessage.js
+++ b/server/services/routing/rpc/smsMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsQueue.js b/server/services/routing/rpc/smsQueue.js
index 5fa4a92..68d4aa0 100644
--- a/server/services/routing/rpc/smsQueue.js
+++ b/server/services/routing/rpc/smsQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsQueueReport.js b/server/services/routing/rpc/smsQueueReport.js
index 3ff5107..1bf938c 100644
--- a/server/services/routing/rpc/smsQueueReport.js
+++ b/server/services/routing/rpc/smsQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/user.js b/server/services/routing/rpc/user.js
index af9335b..f2f5c88 100644
--- a/server/services/routing/rpc/user.js
+++ b/server/services/routing/rpc/user.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappInteraction.js b/server/services/routing/rpc/whatsappInteraction.js
new file mode 100644
index 0000000..4f81988
--- /dev/null
+++ b/server/services/routing/rpc/whatsappInteraction.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappMessage.js b/server/services/routing/rpc/whatsappMessage.js
new file mode 100644
index 0000000..8c93fc1
--- /dev/null
+++ b/server/services/routing/rpc/whatsappMessage.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappQueue.js b/server/services/routing/rpc/whatsappQueue.js
new file mode 100644
index 0000000..6531e8f
--- /dev/null
+++ b/server/services/routing/rpc/whatsappQueue.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappQueueReport.js b/server/services/routing/rpc/whatsappQueueReport.js
new file mode 100644
index 0000000..37c9175
--- /dev/null
+++ b/server/services/routing/rpc/whatsappQueueReport.js
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: [email-masked]                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
+// *                                                                       *
+// *************************************************************************
\ No newline at end of file
diff --git a/server/services/routing/server/applications/agent.js b/server/services/routing/server/applications/agent.js
index f51d298..f53c02c 100644
--- a/server/services/routing/server/applications/agent.js
+++ b/server/services/routing/server/applications/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/amazonlex.js b/server/services/routing/server/applications/amazonlex.js
index 944d3cc..6dbb8e8 100644
--- a/server/services/routing/server/applications/amazonlex.js
+++ b/server/services/routing/server/applications/amazonlex.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/autoreply.js b/server/services/routing/server/applications/autoreply.js
index 9659f6b..bea4eac 100644
--- a/server/services/routing/server/applications/autoreply.js
+++ b/server/services/routing/server/applications/autoreply.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/close.js b/server/services/routing/server/applications/close.js
index ffc41ae..88c36e3 100644
--- a/server/services/routing/server/applications/close.js
+++ b/server/services/routing/server/applications/close.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/dialogflow.js b/server/services/routing/server/applications/dialogflow.js
index 9ccd423..0883e7c 100644
--- a/server/services/routing/server/applications/dialogflow.js
+++ b/server/services/routing/server/applications/dialogflow.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/gotoif.js b/server/services/routing/server/applications/gotoif.js
index 48a2668..ffc0df0 100644
--- a/server/services/routing/server/applications/gotoif.js
+++ b/server/services/routing/server/applications/gotoif.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/gotop.js b/server/services/routing/server/applications/gotop.js
index e8ece0d..307fa71 100644
--- a/server/services/routing/server/applications/gotop.js
+++ b/server/services/routing/server/applications/gotop.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/message.js b/server/services/routing/server/applications/message.js
index 8b5c44b..e138677 100644
--- a/server/services/routing/server/applications/message.js
+++ b/server/services/routing/server/applications/message.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/noop.js b/server/services/routing/server/applications/noop.js
index edaa38f..b2e9aa5 100644
--- a/server/services/routing/server/applications/noop.js
+++ b/server/services/routing/server/applications/noop.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/queue.js b/server/services/routing/server/applications/queue.js
index d6a0ce4..0d7c912 100644
--- a/server/services/routing/server/applications/queue.js
+++ b/server/services/routing/server/applications/queue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/agent.js b/server/services/routing/server/applications/strategy/agent.js
index 2ec8578..40ab56f 100644
--- a/server/services/routing/server/applications/strategy/agent.js
+++ b/server/services/routing/server/applications/strategy/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/beepall.js b/server/services/routing/server/applications/strategy/beepall.js
index 58897ca..802f621 100644
--- a/server/services/routing/server/applications/strategy/beepall.js
+++ b/server/services/routing/server/applications/strategy/beepall.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/index.js b/server/services/routing/server/applications/strategy/index.js
index 6d98fe9..f6a030c 100644
--- a/server/services/routing/server/applications/strategy/index.js
+++ b/server/services/routing/server/applications/strategy/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x33c5=['./rrmemory','./beepall'];(function(_0x1d5d6a,_0x1ec6b4){var _0x1c2058=function(_0x3ebde2){while(--_0x3ebde2){_0x1d5d6a['push'](_0x1d5d6a['shift']());}};_0x1c2058(++_0x1ec6b4);}(_0x33c5,0xe6));var _0x533c=function(_0x1fafa5,_0x1aa281){_0x1fafa5=_0x1fafa5-0x0;var _0xcf08c9=_0x33c5[_0x1fafa5];return _0xcf08c9;};'use strict';module['exports']={'rrmemory':require(_0x533c('0x0')),'beepall':require(_0x533c('0x1')),'agent':require('./agent')};
\ No newline at end of file
+var _0x17c4=['./beepall','./agent','exports','./rrmemory'];(function(_0x1a138c,_0x1028e8){var _0xd21f42=function(_0x30f34d){while(--_0x30f34d){_0x1a138c['push'](_0x1a138c['shift']());}};_0xd21f42(++_0x1028e8);}(_0x17c4,0x102));var _0x417c=function(_0x472f25,_0xe8b449){_0x472f25=_0x472f25-0x0;var _0x571434=_0x17c4[_0x472f25];return _0x571434;};'use strict';module[_0x417c('0x0')]={'rrmemory':require(_0x417c('0x1')),'beepall':require(_0x417c('0x2')),'agent':require(_0x417c('0x3'))};
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/rrmemory.js b/server/services/routing/server/applications/strategy/rrmemory.js
index d22052f..909f55f 100644
--- a/server/services/routing/server/applications/strategy/rrmemory.js
+++ b/server/services/routing/server/applications/strategy/rrmemory.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/util.js b/server/services/routing/server/applications/strategy/util.js
index 32930c5..7ec9a37 100644
--- a/server/services/routing/server/applications/strategy/util.js
+++ b/server/services/routing/server/applications/strategy/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/system.js b/server/services/routing/server/applications/system.js
index 485ec67..4d3d3b0 100644
--- a/server/services/routing/server/applications/system.js
+++ b/server/services/routing/server/applications/system.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/tag.js b/server/services/routing/server/applications/tag.js
index e413dfe..70f7896 100644
--- a/server/services/routing/server/applications/tag.js
+++ b/server/services/routing/server/applications/tag.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/utils.js b/server/services/routing/server/applications/utils.js
index e4258b4..33e991c 100644
--- a/server/services/routing/server/applications/utils.js
+++ b/server/services/routing/server/applications/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/index.js b/server/services/routing/server/index.js
index 7877211..093f7e4 100644
--- a/server/services/routing/server/index.js
+++ b/server/services/routing/server/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/interval.js b/server/services/routing/server/interval.js
index 341826c..1659612 100644
--- a/server/services/routing/server/interval.js
+++ b/server/services/routing/server/interval.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/agents.controller.js b/server/services/xdr/agents.controller.js
index 77110b1..82eaf05 100644
--- a/server/services/xdr/agents.controller.js
+++ b/server/services/xdr/agents.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/calls.controller.js b/server/services/xdr/calls.controller.js
index a582700..4c251c1 100644
--- a/server/services/xdr/calls.controller.js
+++ b/server/services/xdr/calls.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/core.controller.js b/server/services/xdr/core.controller.js
index 76c4713..0b69a7f 100644
--- a/server/services/xdr/core.controller.js
+++ b/server/services/xdr/core.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/dials.controller.js b/server/services/xdr/dials.controller.js
index f68a515..56d2779 100644
--- a/server/services/xdr/dials.controller.js
+++ b/server/services/xdr/dials.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/index.js b/server/services/xdr/index.js
index 79b77f6..714b6ff 100644
--- a/server/services/xdr/index.js
+++ b/server/services/xdr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/members.controller.js b/server/services/xdr/members.controller.js
index d1c175c..6b2d0c4 100644
--- a/server/services/xdr/members.controller.js
+++ b/server/services/xdr/members.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/queues.controller.js b/server/services/xdr/queues.controller.js
index 2e25e38..0e1dea7 100644
--- a/server/services/xdr/queues.controller.js
+++ b/server/services/xdr/queues.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/recordings.controller.js b/server/services/xdr/recordings.controller.js
index c09a4e7..c9e37a3 100644
--- a/server/services/xdr/recordings.controller.js
+++ b/server/services/xdr/recordings.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/transfers.controller.js b/server/services/xdr/transfers.controller.js
index 7bcbe21..13e8599 100644
--- a/server/services/xdr/transfers.controller.js
+++ b/server/services/xdr/transfers.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/utils.js b/server/services/xdr/utils.js
index 15c0250..eeb2456 100644
--- a/server/services/xdr/utils.js
+++ b/server/services/xdr/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file